1) SW Expert Academy 정책상 문제 자체를 퍼가는 것은 금지되며 링크와 출처로 명시해 주시기 바랍니다.
2) 문제에 대한 본인의 풀이에 대해서는 개인 학습 등 상업적 용도가 아닌 경우에만 문제 출처와 함께 게시가 가능합니다.
※ 저작권 이슈가 있을 시 법적 제재를 받을 수 있으니 참고하여주시기 바랍니다.
문제 설명
나의 풀이
import java.util.Scanner;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
if ((A == 1 && B == 3) || (A == 2 && B == 1) || (A == 3 && B == 2)) {
System.out.print("A"); // A가 이기는 경우
} else if ((B == 1 && A == 3) || (B == 2 && A == 1) || (B == 3 && A == 2)) {
System.out.print("B"); // B가 이기는 경우
} else {
System.out.print("무승부"); // A와 B가 같은 경우
}
}
}
문제에서 가위는 1, 바위는 2, 보는 3으로 표현되어 순간 A > B 조건문을 사용하면 쉽게 풀리는줄 착각했다. 하지만 A에 3을 입력하고 B에 1을 입력해보면 A가 보, B가 가위라서 B가 이겼음에도 불구하고 A > B가 성립되어 A가 출력된다. 그래서 이 문제는 숫자 간의 단순 크기 비교가 아니라 A가 이기는 경우의 수, B가 이기는 경우의 수로 정리되어야 한다.
A > B 조건문을 사용하여 제출해도 테스트 케이스가 입력값의 범위를 다양하지 않아서 통과되는 오류가 있다.
'👨💻 Coding Test' 카테고리의 다른 글
[SW Expert Academy/Java/D3] 1206.View (0) | 2024.11.04 |
---|---|
[SW Expert Academy/Java/D2] 1284.수도 요금 경쟁 (1) | 2024.10.31 |
[SW Expert Academy/Java/D3] 5642.합 (0) | 2024.10.25 |
[SW Expert Academy/Java/D2] 1204.최빈수 구하기 (0) | 2024.10.25 |
[SW Expert Academy/Java/D1] 2019.더블더블 (0) | 2024.10.25 |