백준 Tri-du

KIMYEONGJUN·2025년 1월 13일
post-thumbnail

문제

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

A entrada consiste de uma ´unica linha que contém dois inteiros, A (1 ≤ A ≤ 13) e B (1 ≤ B ≤ 13) indicando os valores das duas primeiras cartas recebidas.

Seu programa deve produzir uma única linha com um inteiro representando o valor da carta que maximiza a probabilidade de o jogador ganhar a partida.

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

BufferedReader를 사용하여 한 줄의 입력을 읽고, 공백을 기준으로 나누어 input 배열에 저장한다.
정수 변환:
입력된 문자열을 정수형으로 변환하여 각각 A와 B에 저장한다.
세 번째 카드 결정:
A와 B의 값이 같은 경우, 세 번째 카드는 A(또는 B)와 같은 값으로 설정한다.
이는 승리 확률을 높이기 위한 전략이다.
A와 B가 다를 경우, 두 값 중 큰 값을 세 번째 카드로 선택해준다.
이는 승리 확률을 최대화하기 위한 선택이다.
최적의 세 번째 카드 값을 출력해준다.

코드로 구현

package baekjoon.baekjoon_26;

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

// 백준 13597번 문제
public class Main898 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input = br.readLine().split(" ");

        int A = Integer.parseInt(input[0]);
        int B = Integer.parseInt(input[1]);

        // 세 번째 카드의 최적 값을 결정하기
        int bestCard;

        // A와 B가 같은 경우, 세 번째 카드도 A 또는 B와 같아야 승리 확률이 가장 높음
        if(A == B) {
            bestCard = A;
        } else {
            bestCard = Math.max(A, B); // A와 B가 다를 경우, 둘 중 큰 값으로 세 번째 카드를 선택
        }

        System.out.println(bestCard);
        br.close();
    }
}

마무리

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

profile
Junior backend developer

0개의 댓글