Small Grey Outline Pointer baekjoon c++ 8958 OX퀴즈
본문 바로가기
Dev./Algorithm Prac

baekjoon c++ 8958 OX퀴즈

by sso. 2022. 4. 2.
#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

댓글