문제
가위 바위 보는 두 명이서 하는 게임이다. 보통 미리 정해놓은 수 만큼 게임을 하고, 많은 게임을 이긴 사람이 최종 승자가 된다.
가위 바위 보를 한 횟수와 매번 두 명이 무엇을 냈는지가 주어졌을 때, 최종 승자를 출력하는 프로그램을 작성하시오.
- 바위는 가위를 이긴다.
- 가위는 보를 이긴다.
- 보는 바위를 이긴다.
입력
첫째 줄에는 테스트 케이스의 개수 t(0 < t < 1000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 가위 바위 보를 한 횟수 n(0 < n < 100)이 주어진다. 다음 n개의 줄에는 R, P, S가 공백으로 구분되어 주어진다. R, P, S는 순서대로 바위, 보, 가위이고 첫 번째 문자는 Player 1의 선택, 두 번째 문자는 Player 2의 선택이다.
EX)
3
2
R P
S R
3
P P
R S
S R
1
P R
출력
각 테스트 케이스에 대해서 승자를 출력한다. (Player 1 또는 Player 2) 만약, 비겼을 경우에는 TIE를 출력한다.
EX)
Player 2
TIE
Player 1
코드
복사코드
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n =Integer.parseInt(br.readLine());
for(int i = 0 ; i<n ; i++){
int N=Integer.parseInt(br.readLine());
int countp1=0;
int countp2=0;
for(int j = 0 ; j<N ; j++) {
StringTokenizer st = new StringTokenizer(br.readLine());
String p1 = st.nextToken();
String p2 = st.nextToken();
if(p1.equals(p2)) {
countp1=countp1+1;
countp2=countp2+1;
}else if(p1.equals("R") && p2.equals("S")) {
countp1=countp1+1;
}else if(p1.equals("P") && p2.equals("R")) {
countp1=countp1+1;
}else if(p1.equals("S") && p2.equals("P")) {
countp1=countp1+1;
}else {
countp2=countp2+1;
}
}
if(countp1>countp2) {
System.out.println("Player 1");
}else if(countp2>countp1) {
System.out.println("Player 2");
}else {
System.out.println("TIE");
}
}
}
}
'java > 백준 java' 카테고리의 다른 글
[자바/Java] 백준 3058번 짝수를 찾아라 (0) | 2022.07.10 |
---|---|
[자바/Java] 백준 4458번 첫 글자를 대문자로 (0) | 2022.07.07 |
[자바/Java] 백준 5355번 화성 수학 (0) | 2022.07.05 |
[자바/Java] 백준 5554번 심부름 가는 길 (0) | 2022.06.30 |
[자바/Java] 백준 5622번 다이얼 (0) | 2022.06.28 |