c c++ 언어 공부

백준 2684번 : 동전 게임 (C 언어)

Code C 2023. 11. 2. 12:33

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

 

2684번: 동전 게임

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

www.acmicpc.net

Code:

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
#include <stdio.h>
 
int main() {
    int p;
    scanf("%d"&p);
    char arr[41= { 0, };
    while (p--)
    {
        int check[8= { 0, };
        scanf("%s", arr);
        for (int i = 0; i < 38; i++)
        {
            if (arr[i] == 'T' && arr[i + 1== 'T' && arr[i + 2== 'T')
            {
                check[0]++;
            }
            else if (arr[i] == 'T' && arr[i + 1== 'T' && arr[i + 2== 'H')
            {
                check[1]++;
            }
            else if (arr[i] == 'T' && arr[i + 1== 'H' && arr[i + 2== 'T')
            {
                check[2]++;
            }
            else if (arr[i] == 'T' && arr[i + 1== 'H' && arr[i + 2== 'H')
            {
                check[3]++;
            }
            else if (arr[i] == 'H' && arr[i + 1== 'T' && arr[i + 2== 'T')
            {
                check[4]++;
            }
            else if (arr[i] == 'H' && arr[i + 1== 'T' && arr[i + 2== 'H')
            {
                check[5]++;
            }
            else if (arr[i] == 'H' && arr[i + 1== 'H' && arr[i + 2== 'T')
            {
                check[6]++;
            }
            else
            {
                check[7]++;
            }
        }
        for (int i = 0; i < 8; i++)
        {
            printf("%d ", check[i]);
        }
        printf("\n");
    }
    return 0;
}
cs

문제 설명:

이 문제는 3-동전게임을 시뮬레이션하는 프로그램을 작성하는 것입니다. 3-동전게임은 여러 명이 참여할 수 있는 게임으로, 각 참가자는 3-동전수열 중 하나를 선택하고, 동전을 40번 던진 결과를 통해 어떤 3-동전수열이 얼마나 자주 나왔는지를 확인합니다. 가장 많이 나온 3-동전수열을 선택한 참가자가 이기는 게임입니다.

코드 설명:

 
  1. 테스트 케이스의 개수 p를 입력받습니다.
  2. 각 테스트 케이스에 대해서 동전을 40번 던진 결과를 문자열로 입력받습니다.
  3. 8가지 3-동전수열을 체크하기 위한 배열 check를 초기화합니다.
  4. 반복문을 통해 3-동전수열이 몇 번 나왔는지를 체크합니다. 'TTT', 'TTH', 'THT', 'THH', 'HTT', 'HTH', 'HHT', 그리고 나머지 경우(7번)를 각각 체크합니다.
  5. 각 3-동전수열의 개수를 출력합니다.