[ 백준 8958번] OX퀴즈
2021. 11. 15. 10:09ㆍ백준/단계별 문제
백준 8958번 / 5단계 / OX 퀴즈
채점결과는 다음과 같다
메모리 | 시간 | |
1번째 방법 | 1112 KB | 0 ms |
문제 풀이
문자열을 입력받을 n 을 입력받는다
1. OX문자열을 반복을 문자열 길이만큼 돌리면서 인덱스마다 O, X 인지 문자체크를 하고 O면 연속되는 스코어를 플러스 해주고 최종 스코어에 더해준다. X를 만나면 연속되는 스코어를 0로 초기화 해준다.
OX = OXO
i = 0
OX[i] = OX[0] = O
straight = straight + 1
score = score + straight
i = 1
OX[i] = OX[1] = X
straight = 0
2. 이러한 구조로 반복을 n번만큼 반복을하고 O로 끝났을경우에도 다음 문자열을 점수평가를 할려면
연속되는 스코어가 제로여야 하므로 0으로 초기화 시켜준다. 최종스코어를 출력하고 최종스코어도 0으로 초기화 시켜준다.
코드
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int main() {
int n, i, j, length;
int score = 0, straight = 0;
char ox[80];
scanf("%d", &n);
for ( i = 0; i < n; i++ ) {
scanf("%s", ox);
length = strlen(ox);
score = 0;
for ( j = 0; j < length; j++ ) {
if ( ox[j] == 'O') {
++straight;
score += straight;
} else if ( ox[j] == 'X' ) {
straight = 0;
}
}
straight = 0;
printf("%d\n", score);
}
}
'백준 > 단계별 문제' 카테고리의 다른 글
[ 백준 15596번 ] 정수 N개의 합 (0) | 2021.11.25 |
---|---|
[ 백준 4344번 ] 평균은 넘겠지 (0) | 2021.11.22 |
[ 백준 1546번 ] 평균 (0) | 2021.11.12 |
[ 백준 3052번 ] 나머지 (0) | 2021.11.12 |
[ 백준 2562번 ] 최댓값 (0) | 2021.11.09 |