상세 컨텐츠

본문 제목

< 백준 BaekJoon : 8958번 OX퀴즈 > C++

C++/Baekjoon

by J2on 2021. 9. 25. 19:09

본문

연속해서 맞춘 횟수만큼 점수를 더 주는 문제

https://www.acmicpc.net/problem/8958

 

8958번: OX퀴즈

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

www.acmicpc.net

<문제풀이 방법>

1. 테스트 케이스의 수를 입력받는다.

2. 테스트 케이스만큼 반복문을 돌린다.

3. 테스트 케이스를 입력받는다.

4. O가 나왔을 때마다 Stack 변수를 더해주고 ScoreStack 만큼 점수를 쌓는다.

 

<코드>

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

int main() {
  int TestCount;
  string Quiz;
  cin >> TestCount;

  for (int i=0; i <TestCount; ++i){
    int Score = 0;
    int Stack = 0;
    cin >> Quiz;
    for (int k=0; k < Quiz.length(); k++){
      if (Quiz[k] == 'O'){
        Stack++;
        Score +=Stack ;
      }
      else {
        Stack = 0;
      }
    }
    cout << Score << "\n";
  }
}

 

학교 시험도 이렇게 점수를 주면 좋겠다. 나만.

 

<GitHub>

https://github.com/J2on/BaekjoonOnlineJudge/blob/master/Code/Baekjoon_8958.cpp

 

관련글 더보기

댓글 영역