프로그래밍/백준
백준 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로 받을때 입력값 그대로 받는구나.. 예전값 있는상태에서 문자 길이만큼만 덮어쓰는건줄...