백준 온라인 저지 / 4493번 가위 바위 보?
https://www.acmicpc.net/problem/4493
- 사용언어 : C (C99)
- 알고리즘 : 구현
- Solved.ac Tier : BRONZE III
C 코드
1. 문제 정리
두명의 플레이어가 가위 바위보를 하는 문제이다. 가위 바위 보를 한 횟수와 매번 두명이 무엇을 냈는지 주어졌을 때, 최종 승자를 출력하는 프로그램을 작성하는 문제이다.
간단한 구현 문제이다. 가위 바위 보 구현은
if(R == S){
P1++;
P2++;
}
else if(R == 'R' && S == 'P'){
P2++;
}
else if(R == 'R' && S == 'S'){
P1++;
}
else if(R == 'P' && S == 'R'){
P1++;
}
else if(R == 'P' && S == 'S'){
P2++;
}
else if(R == 'S' && S == 'P'){
P1++;
}
else if(R == 'S' && S == 'R'){
P2++;
}
이런식으로 작성하였다. P1이 이기면 P1에다가 1점을 더주고 P2가 이기면 P2에다가 점수를 주는 형태로 구현했다.
2. 완성 코드
#include <stdio.h>
int main(){
int t,n;
scanf("%d", &t);
for(int i=0; i<t; i++){
scanf(" %d", &n);
int P1 = 0, P2 = 0;
for(int j=0; j<n; j++){
char R = 0,S = 0;
scanf(" %c %c", &R, &S);
if(R == S){
P1++;
P2++;
}
else if(R == 'R' && S == 'P'){
P2++;
}
else if(R == 'R' && S == 'S'){
P1++;
}
else if(R == 'P' && S == 'R'){
P1++;
}
else if(R == 'P' && S == 'S'){
P2++;
}
else if(R == 'S' && S == 'P'){
P1++;
}
else if(R == 'S' && S == 'R'){
P2++;
}
}
if(P1 == P2)
printf("TIE\n");
else if(P1> P2){
printf("Player 1\n");
}
else{
printf("Player 2\n");
}
}
}
'백준 알고리즘 > Lang-C | C++' 카테고리의 다른 글
[백준/C] 2455번 지능형 기차 (0) | 2021.12.02 |
---|---|
[백준/C] 23037번 5의 수난 (0) | 2021.11.26 |
[백준/C] 2858번 기숙사 바닥 (0) | 2021.11.21 |
[백준/C] 15921번 수찬은 마린보이야!! (0) | 2021.09.22 |
[백준/C] 15700번 타일 채우기 4 (0) | 2021.09.19 |