프로그래밍/백준

백준 8958번: OX퀴즈 (C언어)

흑후추 2020. 2. 24. 19:55

https://www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는

www.acmicpc.net

 

더보기
#include<stdio.h>
#include<string.h>

int main(){
	int i, j, amount;
	int cont, sum;
	char N[80] = {0};
		
	scanf("%d", &amount);
	for(i=0; i<amount; i++){
		cont = 0;
		sum = 0;
		scanf("%s", &N);
		for(j=0; j<strlen(N); j++){
			if(N[j]=='O'){
				cont += 1;
				sum += cont;
			}
			else cont = 0;
		}
		printf("%d\n",sum);
	}
	
	return 0;
}

scanf로 받을때 입력값 그대로 받는구나.. 예전값 있는상태에서 문자 길이만큼만 덮어쓰는건줄...