개발자/C or C++

[백준] 8958번

Mosser 2021. 10. 1.
728x90
반응형

문제

해결 방법

이 문제는 일단 테스트 케이스를 입력받은 후, 테스트 케이스 횟수 만큼 문자열을 입력 받아서 각 케이스마다 점수를 계산하면 됩니다..

예를들어 OOOXXXXXX 이런식이라면 O가 연속으로 나오는 횟수를 count하고 score의 sum값에 계속 더해주는 방식으로 점수를 계산하면 됩니다.

O --> 1 --> sum=1

O---> 2 ---> sum=1+2=3

O--->3 ----> sum=3+3=6

나머지는 모두 X이므로 count=0 유지

마지막에 sum값 출력

주의할 점은 테스트케이스가 끝날 때마다 문자열 배열을 초기화 해주어야합니다.

소스코드

#include <stdio.h>
#include <string.h>

int main(){
	int T;
	scanf("%d",&T);
	
	int i=0;
	char str[80];
	
	for(i=0;i<T;i++){
		scanf("%s",str);
		int len=strlen(str);
		int j=0;
		int sum=0;
		int count=0;
		
		for(j=0;j<len;j++){
			if(str[j]=='X'){
				count=0;
			}
			else{
				count++;
				sum+=count;
			}
			
		}
		
		printf("%d\n",sum);
		str[0]='\0';

	}

}

실행결과

 

반응형

'개발자 > C or C++' 카테고리의 다른 글

[백준] 1152번  (0) 2021.10.01
[백준] 1110번  (0) 2021.10.01
[백준] 2577번  (0) 2021.10.01
[백준] 1065번  (0) 2021.10.01
[백준] 4673번  (0) 2021.10.01

댓글