Baekjoon/단계별로 풀어보기

[BOJ/백준] 8958번 OX퀴즈 C++ 문제 풀이

728x90

 

단계별로 풀어보기 - 1차원 배열 - [6단계] 8958번

문제

문제 링크 : www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

"OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수��

www.acmicpc.net

입력 복사 : 

5 OOXXOXXOOO OOXXOOXXOO OXOXOXOXOXOXOX OOOOOOOOOO OOOOXOOOOXOOOOX

 

CODE

#include <iostream>
#include <string>
using namespace std;

int main() {
	int n;
	string str;
	int count = 0;
	int result = 0;

	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> str;

		if (str.at(0) == 'O') {
			result++;
			count++;
		}

		for (int j = 1; j < str.size(); j++) {
			if (str.at(j) == 'O') {
				if (str.at(j) == str.at(j - 1)) {
					count++;
					result += count;
				}
				else {
					result++;
					count++;
				}
			}
			else {
				count = 0;
			}
		}
		cout << result << endl;
		result = 0;
		count = 0;
	}
}

 

결과

728x90