내가 생각했을때 문제에서 원하는부분
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();
}
}
코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.