Training/BOJ

[C++] 8958 OX퀴즈

FATKITTY 2020. 8. 3. 18:51
반응형

 

string 배열 quiz 에 N개의 퀴즈 결과를 입력받고 저장한다.

int 배열 score 도 생성해서, 각 퀴즈 결과의 총점을 계산 후 저장한다.

퀴즈 결과의 각 문제마다, O라면 countO 값 1 증가, X라면 countO = 0 으로 초기화.

다음 문제로 넘어가기 전에 매번 countO 값을 score 배열의 해당되는 원소에 더해준다.

마지막 문제까지 이 과정을 반복한다.

모든 퀴즈 결과에 대해서 위의 과정을 반복한다.

score 배열을 출력한다.

 

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

void Score(string* quiz, int N)
{
	int* score = new int[N];
	for (int i = 0; i < N; i++) score[i] = 0;

	for (int j = 0; j < N; j++) {
		string check = quiz[j];
		int countO = 0;
		for (int k = 0; k < check.length(); k++) {
			if (check[k] == 'O') countO++;
			else if (check[k] == 'X') countO = 0;
			score[j] += countO;
		}
		cout << score[j] << '\n';
	}
}

int main()
{
	int N = 0;
	cin >> N;
	string* quiz = new string[N];
	for (int i = 0; i < N; i++) cin >> quiz[i];
	Score(quiz, N);

	return 0;
}

 

반응형

'Training > BOJ' 카테고리의 다른 글

[C++] 10809 알파벳 찾기  (0) 2020.08.10
[C++] 2869 달팽이는 올라가고 싶다  (0) 2020.08.08
[C++] 3052 나머지  (0) 2020.08.03
[C++] 2577 숫자의 개수  (0) 2020.08.03
[C++] 2562 최댓값  (1) 2020.08.03