728x90
https://www.acmicpc.net/problem/4493
가위 바위 보?
한국어
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 | 128 MB | 3798 | 2448 | 2195 | 67.125% |
문제
가위 바위 보는 두 명이서 하는 게임이다. 보통 미리 정해놓은 수 만큼 게임을 하고, 많은 게임을 이긴 사람이 최종 승자가 된다.
가위 바위 보를 한 횟수와 매번 두 명이 무엇을 냈는지가 주어졌을 때, 최종 승자를 출력하는 프로그램을 작성하시오.
- 바위는 가위를 이긴다.
- 가위는 보를 이긴다.
- 보는 바위를 이긴다.
입력
첫째 줄에는 테스트 케이스의 개수 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
풀이 : 각 케이스에 대해서 점수 산정을 하는 경우는 for문으로 받는다.
각 케이스에선 Player 1이 이기는 경우, Player 2가 이기는 경우, 비기는 경우 이렇게 3가지 경우가 존재할 것이며
각각의 경우에 대해 점수를 주고 (이기는 경우 +1, 비기는 경우 0) 점수가 높은 Player를 출력한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
// 백준 4493. 가위 바위 보?
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
for(int i=0; i<t; i++){
int n = Integer.parseInt(br.readLine());
int scoreP1 = 0;
int scoreP2 = 0;
String s = "";
for(int j=0; j<n; j++){
StringTokenizer st = new StringTokenizer(br.readLine());
String p1 = st.nextToken();
String p2 = st.nextToken();
// 비기는 경우
if((p1.equals("R")&&p2.equals("R"))
|| (p1.equals("P")&&p2.equals("P"))
|| (p1.equals("S")&&p2.equals("S"))){
scoreP1+=0;
scoreP2+=0;
}
// p1이 이기는 경우
else if((p1.equals("R")&&p2.equals("S"))
|| (p1.equals("S")&&p2.equals("P"))
|| (p1.equals("P")&&p2.equals("R"))){
scoreP1+=1;
}
// 그 외엔 p2가 이긴다
else scoreP2+=1;
// 점수 산정
if (scoreP1 > scoreP2) s="Player 1";
else if (scoreP1 < scoreP2) s="Player 2";
else s="TIE";
}
System.out.println(s);
}
}
}
728x90
'알고리즘 문제풀이 > Beakjoon' 카테고리의 다른 글
백준 5753. Pascal Library (feat. Chat GPT) (0) | 2023.02.11 |
---|---|
백준 2588. 곱셈 (JAVA) (0) | 2023.02.10 |
백준 1703. 생장점 (JAVA) (0) | 2023.02.07 |
백준 2010. 플러그 (JAVA) (0) | 2023.02.06 |
백준 1247. 부호 (JAVA) (0) | 2023.02.06 |