https://www.acmicpc.net/problem/4493
4493번: 가위 바위 보?
첫째 줄에는 테스트 케이스의 개수 t(0 < t < 1000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 가위 바위 보를 한 횟수 n(0 < n < 100)이 주어진다. 다음 n개의 줄에는 R, P, S가 공백으로 구분되어 주어
www.acmicpc.net
c++로 백준 4493번 문제를 풀어보겠다.
문제
가위 바위 보는 두 명이서 하는 게임이다. 보통 미리 정해놓은 수 만큼 게임을 하고, 많은 게임을 이긴 사람이 최종 승자가 된다.
가위 바위 보를 한 횟수와 매번 두 명이 무엇을 냈는지가 주어졌을 때, 최종 승자를 출력하는 프로그램을 작성하시오.
- 바위는 가위를 이긴다.
- 가위는 보를 이긴다.
- 보는 바위를 이긴다.
입력
첫째 줄에는 테스트 케이스의 개수 t(0 < t < 1000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 가위 바위 보를 한 횟수 n(0 < n < 100)이 주어진다. 다음 n개의 줄에는 R, P, S가 공백으로 구분되어 주어진다. R, P, S는 순서대로 바위, 보, 가위이고 첫 번째 문자는 Player 1의 선택, 두 번째 문자는 Player 2의 선택이다.
출력
각 테스트 케이스에 대해서 승자를 출력한다. (Player 1 또는 Player 2) 만약, 비겼을 경우에는 TIE를 출력한다.
예제 입력 1 복사
3
2
R P
S R
3
P P
R S
S R
1
P R
예제 출력 1 복사
Player 2
TIE
Player 1
<문제 풀이>
1. T를 입력받은 후 for문을 T번 반복해 주어진 문제를 해결한다.
- for 반복문 코드 내용 -
n을 입력받는다.
for문을 돌며 문자 2개를 n번씩 입력받는다.
(문자를 입력받을 때마다 p1이 이겼는지 p2가 이겼는지 조건문을 통해 계산한다.)
최종 계산한 p1win, p2win값을 비교해 최종적으로 누가 이겼는지 출력한다.
코드는 다음과 같다.


'C++' 카테고리의 다른 글
[백준 알고리즘] 23881번 : 알고리즘 수업 - 선택 정렬 1, c++ (0) | 2022.04.10 |
---|---|
[백준 알고리즘] 2822번 : 점수 계산, c++ (0) | 2022.04.09 |
[백준 알고리즘] 10798번 : 세로읽기, c++ (0) | 2022.04.07 |
[백준 알고리즘] 11721번 : 열 개씩 끊어 출력하기, c++ (0) | 2022.04.06 |
[백준 알고리즘] 9325번 : 얼마?, c++ (0) | 2022.04.05 |