https://www.acmicpc.net/problem/4493
4493번: 가위 바위 보?
첫째 줄에는 테스트 케이스의 개수 t(0 < t < 1000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 가위 바위 보를 한 횟수 n(0 < n < 100)이 주어진다. 다음 n개의 줄에는 R, P, S가 공백으로 구분되어 주어
www.acmicpc.net
🔔 문제 :
(0<t<1000)인 테스트 케이스 수 t개가 주어집니다.
그리고 (0<n<100)인 가위 바위 보 한 횟수 n개가 주어집니다.
그리고 R(주먹), P(보자기), S(가위)가 player1 player2 에 맞게 차례대로 주어집니다.
게임이 끝난 후 이긴 플레이어를 출력하고 비기면 TIE를 출력하는 문제입니다.
예제 입력
3
2
R P
S R
3
P P
R S
S R
1
P R
예제 출력
Player 2
TIE
Player 1
🔔 Kick Point :
저는 길이는 길더라도 간편하게 if, else if 문으로 편하게 풀었습니다.
🔔 Code :
#include <iostream>
using namespace std;
int main() {
int t; cin >> t;
while (t--) {
int n; cin >> n;
int p1(0), p2(0);
while (n--) {
char tmp1, tmp2; // p r s
cin >> tmp1 >> tmp2;
if (tmp1 == 'P' && tmp2 == 'R') p1++;
else if (tmp1 == 'P' && tmp2 == 'S') p2++;
else if (tmp1 == 'R' && tmp2 == 'P') p2++;
else if (tmp1 == 'R' && tmp2 == 'S') p1++;
else if (tmp1 == 'S' && tmp2 == 'P') p1++;
else if (tmp1 == 'S' && tmp2 == 'R') p2++;
}
if (p1 > p2) cout << "Player 1" << '\n';
else if (p1 < p2) cout << "Player 2" << '\n';
else cout << "TIE" << '\n';
}
}