관리 메뉴

cococo-coding

10801번. 카드게임 (c++풀이) 본문

[BOJ] 코드 모음/C++_learning 문제집

10801번. 카드게임 (c++풀이)

_dani 2024. 1. 9. 14:56

문제

 

풀이

A와 B에 해당하는 카드배열을 만들었다. 

우선 if문으로 A의 카드를 10번 입력받고, 그 후에 B의 카드를 10번 입력받았다.

그 후에 또 다시 if문을 사용해 a[i]와 b[i]를 비교하여 누가 이겼는지를 카운팅한다. 

이때 카운팅변수는 A가 이겼을 때는 awin을, B가 이겼을 때는 bwin을 사용했다. 

그리고 awin과 bwin을 비교하여 이 수가 같은 경우는 비긴경우(D를 출력), 

awin이 더 큰 경우는 A가 이긴경우(A를 출력),

나머지는 bwin이 큰 경우이므로 B가 이긴경우가 된다(B를 출력).

 

점수를 받을 배열과 if문을 이용하여 풀 수 있는 문제이다. 

누가 이겼는지 카운팅변수를 설정하여 비교하여 각 케이스별로 출력하면 쉽게 풀 수 있다.

 

코드

#include <iostream>
using namespace std;
/*
    1. A의 카드 10개와 B의 카드 10개를 입력받는다.
    2. 각 게임의 승패를 확인한다.
    3. 최종 승리한 사람을 출력한다.
*/

int main() {
    //1
    int a[10], b[10];
    int awin = 0, bwin = 0;

    //a 점수 입력받기
    for (int i = 0; i < 10; i++) {
        cin >> a[i];
    }

    //b 점수 입력받기
    for (int i = 0; i < 10; i++) {
        cin >> b[i];
    }

    //2
    for (int i = 0; i < 10; i++) {
        if (a[i] > b[i]) awin++;
        else if (a[i] < b[i]) bwin++;
    }

    //3  
    if (awin == bwin) cout << "D\n";
    else if (awin > bwin) cout << "A\n";
    else cout << "B\n";

    return 0;
}