https://www.acmicpc.net/problem/8958
ox문제의 결과를 특정 규칙을 통해 점수로 반환하는 문제.
o가 연속해서 나오는 경우 점수가 1점씩 가중된다.
예를 들어 OOXO인 경우, 점수는 1+2+0+1 = 4점이 된다.
결과값을 문자열로 받아 o가 연속일때의 가중치를 더하여 점수에 더하는 방식으로 풀었다.
#include<stdio.h>
int main(){
char arr[81]; // 퀴즈 결과
int Tcase; // 테스트 케이스
int score = 0; // 총합점수
int scoretemp = 0; // 점수
int idx = 0; // 문자열 인덱스, 널문자 판별을 위함
scanf("%d", &Tcase);
for (int i = 0; i < Tcase; i++) {
scanf("%s", arr);
score = 0; // 점수 관련 변수 초기화
scoretemp = 0;
idx = 0;
while (arr[idx] != '\0') {
if (arr[idx] == 'O') {
scoretemp += 1;
score += scoretemp;
} else {
scoretemp = 0;
}
idx++;
}
printf("%d\n", score);
}
return 0;
}
'coding_test > BAEKJOON' 카테고리의 다른 글
백준 15596번 C언어 풀이 (0) | 2021.08.05 |
---|---|
백준 4344번 C언어 풀이 (0) | 2021.08.05 |
백준 1546번 C언어 풀이 (0) | 2021.08.04 |
백준 3052번 C언어 풀이 (0) | 2021.08.04 |
백준 2577번 C언어 풀이 (0) | 2021.08.03 |