#include <stdio.h>
#include <string.h>
//OX퀴즈
int main() {
char quiz[80];
int n;
int score;
int sum;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
sum = 0;
score = 1; //O가 처음 나올때마다 1점부터 시작
scanf("%s", &quiz);
for (int j = 0; j < strlen(quiz); j++) {
if (quiz[j] == 'O') {
sum += score;
score++; //O가 연속으로 나올 때 마다 점수 누적
}
else if(quiz[j]=='X') {
score = 1; //quiz[j]가 X라면 다음에 시작하는 O는 1점으로 시작
}
}
printf("%d\n", sum);
}
}
길이 80인 문자열을 선언
char quiz[80]
이중 for문을 작성하고 입력받은 문자열의 길이를 구한다
i 행=> n(테스트 개수) 만큼 반복
j 열=> 입력받은 문자열의 끝까지 반복 OXOXOXOXXX ...
strlen(quiz) => 문자열 길이
이 때 quiz[j] 열을 순차적으로 돌면서 O X일 때만 조건을 다르게 설정한다
O가 연속으로 나올 때의 점수 누적
X가 나올때는 점수 합산하지 않고 넘어감
728x90
'Dev. > Algorithm Prac' 카테고리의 다른 글
CodeUp c++ 1093 : [기초-1차원배열] 이상한 출석 번호 부르기 (0) | 2022.04.02 |
---|---|
baekjoon c++ 2908 [문자열] 상수 (0) | 2022.04.02 |
baekjoon c++ 2839 설탕배달/ 그리디 알고리즘 (0) | 2022.03.26 |
baekjoon c++ 3052 나머지 구하기/ 1차원배열 (0) | 2022.03.26 |
baekjoon c++ 2577 숫자의 개수/ 1차원 배열 (0) | 2022.03.26 |
댓글