rueki

백준 8958번 : OX퀴즈 (C/C++) 본문

C, C++ 문제풀이

백준 8958번 : OX퀴즈 (C/C++)

륵기 2019. 6. 30. 20:45
728x90
반응형

문제 맞은 것에 따라 O 와 X를 표시하고 그에따라 점수를 매기는 문제이며 문제를 두개 연속 맞으면 1점 + 2점 = 3점이되며 연속해서 맞을시 맞은 문제에 대해 점수가 1점씩 증가한다.

O와 X를 넣을 character형 배열과 테스트 케이스를 선언할 변수, 점수와 그에 대한 증가에 관한 변수 선언이 필수적이다.

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;



int main() {
	char arr[80]; //OX 들어갈 문자열
	int score = 0;
	int sum=0;
	int N; // 테스트 케이스 수
	cin >> N;
	for (int i = 0; i < N; i++) {
		cin>>arr;// 배열에 문자열 입력

		for (int j = 0; j < strlen(arr); j++) {
			if (arr[j] == 'O') {
				score++; // 점수 증가
				sum += score; // 점수 누적
				
			}
			if (arr[j] == 'X') {
				score = 0; // 점수 초기화
			}
		}
		cout << sum<<endl;
		sum = 0; // sum 초기화
		score = 0; // 점수 증가량 초기화
		
	}
	return 0;
}

 

참고로 비쥬얼 2017에는 string.h 나 cstring 헤더를 선언 안해도 strlen 함수가 사용이되나 사이트 내에서는 헤더를 별도로 선언해줘야 컴파일이 진행된다.

728x90
반응형
Comments