1. 문제
2. 풀이
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.
- 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.
- 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.
- 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.
if 문을 이용해서 총 3개의 경우의 수로 나눠서 풀 수 있는 문제다.
1) 주사위 숫자가 3개 모두 같은 경우
2) 주사위 숫자가 모두 다른 경우
3) 주사위 숫자가 2개만 같은 경우
여기서 주사위를 굴렸을 때 같은 눈이
몇 번씩 겹치느냐에 따라
받을 수 있는 상금의 수도 달라진다.
이를 적용해서 작성해 보자면
1) 주사위 숫자가 3개 모두 같은 경우
> 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게
된다 했다. 주사위 숫자 3개가 같은 눈이 나왔으니
아무 주사위나 하나 골라서
주사위(수) X 1000 + 10000을 작성하면 된다.
만약 A, B, C라는 주사위를 굴렸더니
모두 숫자가 똑같이 나왔다면
이 3개의 주사위 중 한 개를 '주사위(수)' 자리에 넣어주면 된다.
예) A X 1000 + 10000
위의 예는 주사위(수) X 1000 + 10000 와 같다.
2) 주사위 숫자가 모두 다른 경우
> (그 중 가장 큰 눈)×100원의 상금을 받게 된다고 했음으로
2-1) A가 가장 크다면 > A * 100
2-2) B가 가장 크다면 > B * 100
2-3) C가 가장 크다면 > C * 100
3) 주사위 숫자가 2개만 같은 경우
3-1) 주사위 A와 B가 같은 숫자라면 > 1000 + A * 100
> A 대신 B를 넣어줘도 상관없다.
주사위 숫자가 2개가 같을 경우엔 같은 주사위 숫자를 넣어주면 되니까.
3-2) 주사위 A와 C가 같은 숫자라면 > 1000 + A * 100
> A 대신 C를 넣어줘도 상관없다.
3-3) 주사위 C와 B가 같은 숫자라면 > 1000 + C * 100
> C 대신 B를 넣어줘도 상관없다.
이렇게 경우의 수를 나눌 수 있을 것이다.
3. 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int A = scan.nextInt(); // 주사위 1
int B = scan.nextInt(); // 주사위 2
int C = scan.nextInt(); // 주사위 3
scan.close();
if (A == B && B == C && A == C){ //주사위 숫자 3개가 모두 같다면
int three = 10000 + A * 1000;
System.out.println(three);
}
else if (A != B && B !=C && A !=C){ //주사위 숫자가 모두 다르다면
if (A > B && A > C){ //A가 가장 크다면
int zero = A * 100;
System.out.println(zero);
}
else if (B > A && B > C){ //B가 가장 크다면
int zero = B * 100;
System.out.println(zero);
}
else { //c가 가장 크다면
int zero = C * 100;
System.out.println(zero);
}
}
else { //주사위 숫자 2개가 같다면
if (A == B){ // 주사위 A와 B가 같은 숫자라면
int two = 1000 + A * 100;
System.out.println(two);
}
else if (A == C){ // 주사위 A와 C가 같은 숫자라면
int two = 1000 + A * 100;
System.out.println(two);
}
else { // 주사위 C와 B가 같은 숫자라면
int two = 1000 + B * 100;
System.out.println(two);
}
}
}
}
'IT > BaekJoon' 카테고리의 다른 글
[JAVA] 10950번. A + B - 3 문제 (0) | 2023.03.28 |
---|---|
[백준/JAVA] 2739 구구단 문제 (0) | 2023.03.12 |
[백준/JAVA] 2525 오븐 시계 (0) | 2023.02.26 |
[백준/JAVA] 14681 사분면 고르기 (0) | 2023.02.12 |
[백준/JAVA] 2753 - 윤년 : 그래서 윤년이 뭘까? (0) | 2023.01.15 |