-
백준 2684번 : 동전 게임 (C 언어)c c++ 언어 공부 2023. 11. 2. 12:33
https://www.acmicpc.net/problem/2684
2684번: 동전 게임
동전게임은 주로 두 사람이 함께 즐기는 게임이다. 이 중 3-동전게임은 여러 명이 할 수 있는 게임이다. 각 사람은 각각 3-동전수열 중 하나를 선택한다. 3-동전수열이란 앞 뒤 앞과 같은 수열이
www.acmicpc.net
Code:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#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-동전수열의 개수를 출력합니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 2576번 : 홀수 (C 언어) (0) 2023.11.03 백준 1453번 : 피시방 알바 (C 언어) (0) 2023.11.03 백준 14716번 : 현수막 (C 언어) (1) 2023.11.01 백준 19698번 : 헛간 청약 (C 언어) (0) 2023.10.31 백준 2476번 : 주사위 게임 (C 언어) (0) 2023.10.31