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-동전수열을 선택한 참가자가 이기는 게임입니다.
코드 설명:
- 테스트 케이스의 개수 p를 입력받습니다.
- 각 테스트 케이스에 대해서 동전을 40번 던진 결과를 문자열로 입력받습니다.
- 8가지 3-동전수열을 체크하기 위한 배열 check를 초기화합니다.
- 반복문을 통해 3-동전수열이 몇 번 나왔는지를 체크합니다. 'TTT', 'TTH', 'THT', 'THH', 'HTT', 'HTH', 'HHT', 그리고 나머지 경우(7번)를 각각 체크합니다.
- 각 3-동전수열의 개수를 출력합니다.