알고리즘/백준 문제풀이

백준 8958번, 언어 : C/C++

ya_ya 2021. 3. 19. 16:25
반응형

문제설명

출처: www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

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

www.acmicpc.net

간략 설명 : O가 나올 때마다 점수가 1씩 증가하다가, X를 만나면 증가하던 점수가 1로 초기화

 

 

 

 

문제풀이 아이디어

 

문제 풀이 아이디어 : X를 만날 때까지 카운트를 1씩 증가시켜서 점수에 더하다가 X를 만나면 카운트를 1로 다시 초기화

 

 

 

코드

 

 

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

int main()
{
	int N;
	int sum = 0;
	int count =1;
	char quiz[80];
	cin >> N;
	for (int i = 0; i < N; i++)
	{
		cin >> quiz;
		for (int j = 0; j < strlen(quiz); j++)
		{
			if (quiz[j] == 'O') sum += count++; //O이면 더하고, count를 1 증가
			else count = 1; //X가 나오면 count를 1로 초기화
		}
		cout << sum << endl;
		sum = 0; //초기화
		count = 1; //초기화
	}

	return 0;
}

 

다른 문제에 대한 코드 : github.com/Ewlrma/Algorithm-Solution-

 

Ewlrma/Algorithm-Solution-

Solution for Algorithm Problem. Contribute to Ewlrma/Algorithm-Solution- development by creating an account on GitHub.

github.com

 

 

 

반응형