Rylah's Study & Daily Life

[SWEA/C++] 13547. 팔씨름 본문

SW Expert Academy

[SWEA/C++] 13547. 팔씨름

Rylah 2022. 4. 4. 01:56

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AX6PP9G6p1sDFAS9 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

소정이와 세정이는 점심 값을 누가 낼 지 정하기 위해 팔씨름을 하기로 했다공정하고 재밌는 경기를 위해 둘은 15번 팔씨름을 하여 8번 이상 이기는 사람이 점심 값을 면제받기로 하였다.

둘은 지금까지 k번의 팔씨름을 진행했다이 결과는 길이가 k인 ‘o’ 또는 ‘x’로만 구성된 문자열 S[1..k]로 나타낼 수 있다. S[i]가 ‘o’면 소정이가 i번째 경기에서 승리했다는 것이고, ‘x’면 패배했다는 것이다.

소정이는 앞으로 팔씨름을 15번째 경기까지 진행했을 때 자신이 점심값을 면제받을 가능성이 있는지 알고자 한다이를 대신해 주는 프로그램을 작성하라.

[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스는 하나의 줄로 이루어진다각 줄에는 ‘o’ 또는 ‘x’로만 구성된 길이가 1 이상 15 이하인 문자열 S가 주어진다.

[출력]
각 테스트 케이스마다소정이가 점심값을 면제받을 가능성이 있다면 ‘YES’, 없다면 ‘NO’를 출력한다.

입력
3
oxoxoxoxoxoxoxo
x
xxxxxxxxxxxx
 
출력
#1 YES
#2 YES
#3 NO
 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <bits/stdc++.h>
using namespace std;
 
int main(void)
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
 
    int testCase;
    cin >> testCase;
    for (int t = 1; t <= testCase; t++)
    {
        string scoreBoard;
        cin >> scoreBoard;
        int totalCnt = scoreBoard.length();
 
        int winCnt = 0;
        for (int i = 0; i < totalCnt; i++)
        {
            if (scoreBoard[i] == 'o')
                winCnt++;
        }
 
        int remainGame = 15 - totalCnt;
        cout << "#" << t << " ";
        if (remainGame + winCnt >= 8)
            cout << "YES" << "\n";
        else
            cout << "NO" << "\n";
        
        
        
    }
 
    return 0;
}
cs

 

'SW Expert Academy' 카테고리의 다른 글

[SWEA/C++] 2930. 힙  (0) 2022.04.04