본문 바로가기

백준/C++

[BaeKJoon/C++] 백준4493 c++ 가위 바위 보?

반응형

https://www.acmicpc.net/problem/4493

 

4493번: 가위 바위 보?

첫째 줄에는 테스트 케이스의 개수 t(0 < t < 1000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 가위 바위 보를 한 횟수 n(0 < n < 100)이 주어진다. 다음 n개의 줄에는 R, P, S가 공백으로 구분되어 주어

www.acmicpc.net

 

문제

가위 바위 보는 두 명이서 하는 게임이다. 보통 미리 정해놓은 수만큼 게임을 하고, 많은 게임을 이긴 사람이 최종 승자가 된다.

가위 바위 보를 한 횟수와 매번 두 명이 무엇을 냈는지가 주어졌을 때, 최종 승자를 출력하는 프로그램을 작성하시오.

  • 바위는 가위를 이긴다.  
  • 가위는 보를 이긴다.
  • 보는 바위를 이긴다.

 

코드

#include <iostream>
 
 
using namespace std;
 
int main() {
 
    int n,a;
    cin>>n;
 
    char p1,p2;
    
    for(int i=0; i<n; i++){
        int p1w=0, p2w=0;
        cin>>a;
 
        for(int i=0; i<a; i++){
            cin>>p1>>p2;
 
            if(p1=='R'){
                if(p2=='R'){
                    p1w++;
                    p2w++;
                }
                else if(p2=='S'){
                    p1w++;
                }
                if(p2=='P'){
                    p2w++;
                }
            }

            else if(p1=='S'){
                if(p2=='R'){
                    p2w++;
                }
                else if(p2=='S'){
                    p1w++;
                    p2w++;
                }
                if(p2=='P'){
                    p1w++;
                }
            }

            else if(p1=='P'){
                if(p2=='R'){
                    p1w++;
                }
                else if(p2=='S'){
                    p2w++;
                }
                if(p2=='P'){
                    p1w++;
                    p2w++;
                }
            }
        }
        if(p1w>p2w) cout<<"Player 1"<<"\n";
        else if(p2w>p1w) cout<<"Player 2"<<"\n";
        else if(p1w==p2w) cout<<"TIE"<<"\n";
    }
 
}
cs

 

반응형