백준 카드게임

KIMYEONGJUN·2025년 3월 31일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

첫 번째 줄에는 A가 제시한 카드의 숫자 10개가 라운드 순서대로 주어지고, 두 번째 줄에는 B가 제시한 카드의 숫자 10개가 라운드 순서대로 주어진다.

게임의 승패가 결정되는 경우 승리한 사람을 출력하고, 비기는 경우에는 D를 출력한다.

내가 이 문제를 보고 생각해본 부분

입력: 두 줄에 걸쳐 A와 B의 카드 숫자를 입력받는다.
라운드 처리: 각 라운드에서 A와 B의 카드를 비교하여 승리 횟수를 계산한다.
결과 판단: A의 승리 횟수가 B보다 많으면 "A", 적으면 "B", 같으면 "D"를 결과로 저장한다.
출력: 최종 결과를 출력한다.

코드로 구현

package baekjoon.baekjoon_27;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

// 백준 10801번 문제
public class Main977 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        // A와 B의 카드 숫자 입력 받기
        String[] aCards = br.readLine().split(" ");
        String[] bCards = br.readLine().split(" ");

        int aWins = 0;
        int bWins = 0;

        // 각 라운드에서 승자 판단
        for(int i = 0; i < 10; i++) {
            int aCard = Integer.parseInt(aCards[i]);
            int bCard = Integer.parseInt(bCards[i]);

            if(aCard > bCard) {
                aWins++;
            } else if(aCard < bCard) {
                bWins++;
            }
        }

        // 결과 판단
        if(aWins > bWins) {
            sb.append("A");
        } else if(aWins < bWins) {
            sb.append("B");
        } else {
            sb.append("D");
        }

        // 결과 출력
        System.out.println(sb.toString());
        br.close();
    }
}

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글