ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 2684번 : 동전 게임 (C 언어)
    c 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-동전수열의 개수를 출력합니다.

     

Designed by Tistory.