본문 바로가기
Develop/백준 (Cpp)

[백준] 2684번 : 동전 게임 (C++)

by Tarra 2023. 2. 6.

2684번 : 동전 게임


문제 )

동전게임은 주로 두 사람이 함께 즐기는 게임이다. 이 중 3-동전게임은 여러 명이 할 수 있는 게임이다. 각 사람은 각각 3-동전수열 중 하나를 선택한다. 3-동전수열이란 앞 뒤 앞과 같은 수열이고, 8가지(뒤뒤뒤,뒤뒤앞,뒤앞뒤,뒤앞앞,앞뒤뒤,앞뒤앞,앞앞뒤,앞앞앞)가 있다.

이제 심판은 동전 1개를 40번 던진다. 그 다음 심판은 동전이 앞인지 뒤인지를 던진 순서대로 종이에 적는다. 그 다음 3-동전수열이 각각 몇 번씩 나왔는지 기록한다. 가장 많이 나온 수열을 선택한 사람이 이긴다.

동전 40번 던진 결과가 주어졌을 때, 3-동전수열이 각각 몇 번 나왔는지를 출력하는 프로그램을 작성하시오. 예를 들어, 40개의 동전이 모두 앞면일 경우 앞앞앞은 38번 나타난다.

 

 

입력 :

첫째 줄에 테스트 케이스의 개수 P(1 ≤ P ≤ 1000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 동전을 40번 던진 결과가 주어진다. 이때, 앞면은 H로, 뒷면은 T로 표현한다. 

 

 

 

출력 :

각 테스트 케이스마다 3-동전수열이 몇 번 나타났는지를 출력한다. 뒤뒤뒤, 뒤뒤앞, 뒤앞뒤, 뒤앞앞, 앞뒤뒤, 앞뒤앞, 앞앞뒤, 앞앞앞 순서대로 공백으로 구분해서 출력한다.

 

 

 

 

 

풀이)

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <string>
 
using namespace std;
 
 
 
int main()
{
    int p;
    string coin;
    cin >> p;
 
    for (int i = 0; i < p; i++) {
        cin >> coin;
        int coin_list[8]{ 0 };
 
        for (int j = 0; j < coin.length() - 2; j++) {
            string coin_3 = coin.substr(j, 3);
 
            if (coin_3 == "TTT") {
                coin_list[0]++;
            }
            else if (coin_3 == "TTH") {
                coin_list[1]++;
            }
            else if (coin_3 == "THT") {
                coin_list[2]++;
            }
            else if (coin_3 == "THH") {
                coin_list[3]++;
            }
            else if (coin_3 == "HTT") {
                coin_list[4]++;
            }
            else if (coin_3 == "HTH") {
                coin_list[5]++;
            }
            else if (coin_3 == "HHT") {
                coin_list[6]++;
            }
            else if (coin_3 == "HHH") {
                coin_list[7]++;
            }
        }
 
        for (auto& ele : coin_list) {
            cout << ele << " ";
        }
        cout << "\n";
    }
 
    return 0;
}
 
cs

출처 : https://www.acmicpc.net/problem/2684 

 

2684번: 동전 게임

동전게임은 주로 두 사람이 함께 즐기는 게임이다. 이 중 3-동전게임은 여러 명이 할 수 있는 게임이다. 각 사람은 각각 3-동전수열 중 하나를 선택한다. 3-동전수열이란 앞 뒤 앞과 같은 수열이

www.acmicpc.net