새소식

💻 Programming (프로그래밍)/C++ | 백준

[C++][백준] - 가위 바위 보(4493번)

  • -
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';
	}
}

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.