Published 2022. 8. 27. 15:42
#include <stdio.h>
#include <string.h>

int main (){
	int line, i, j;
	scanf("%d", &line);
	
	for (i = 0; i < line; i++) {
		char s[80];
		int score, temp; 
		scanf("%s", &s);
		if (s[0] == 'O') {
			temp = 1;
			score = 1;
		}
		else {
			temp = 0;
			score = 0;
		}		
		for (j = 1; j<strlen(s); j++){
			if (s[j-1] == s[j] && s[j] == 'O') temp++;
			else if (s[j] == 'O') temp = 1;
			else temp = 0;
			score = temp + score; 
		}
		printf("%d\n", score); 
	}
}

첫 문자가 O이면 temp = 1, score = 1로 시작. X이면 temp = 0, score = 0으로 시작

전 문자 = 현 문자이고 현 문자가 O이면 temp에 1을 더함 (연속 O일 때 점수가 가산되는 것을 반영하기 위함)

현 문자가 O만 해당하면 temp = 1로 설정 (O가 처음 등장하면 1점으로 시작)

모두 해당되지 않으면 temp = 0으로 설정

for loop 한 번 돌 때마다 temp를 score에 더함

 

-> 한 줄 계산이 끝나면 score 출력

 

*scanf & 유의하기

복사했습니다!