https://www.acmicpc.net/problem/2480
문제
- 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.
- 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.
- 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.
- 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.
- 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다.
- 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다.
- 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게 된다.
- 3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.
입력
- 첫째 줄에 3개의 눈이 빈칸을 사이에 두고 각각 주어진다.
출력
- 첫째 줄에 게임의 상금을 출력 한다.
입출력 예제
풀이방식설계
1. if - else 문을 통해 각 조건에 맞는 식을 작성한다.
2. 결과를 출력한다.
풀이과정
1. 3 가지의 숫자가 전부 다른 경우에 해당하는 조건과 식을 작성한다.
- (A != B && B != C && A != C) 조건으로 3 숫자가 전부 다른 경우를 작성한다.
- Math.max() 를 사용해서 가장 큰 숫자를 찾는다.
- 가장 큰 숫자(max)에 100을 곱해서 결과 변수(cash)에 저장한다.
2. 3 가지의 숫자가 모두 같을 경우에 해당하는 조건과 식을 작성한다.
- (A == B && A == C) 조건으로 3 숫자가 모두 같은 경우를 작성한다.
- 이 경우에 해당하는 식인 10000 + (A * 1000) 를 cash에 저장한다.
3. 2 가지의 숫자가 같을 경우에 해당하는 조건과 식을 작성한다. 단, A와 B 가 같을 경우와 A와 C가 같을 경우를 나누어서 작성한다.
- (A == B || A == C) 와 남은 조건은 else 문을 통해 작성한다.
- 이 경우에 해당하는 식인 1000 + (A * 100) 를 cash에 저장한다.
4. 결과를 출력한다.
답안소스
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static int cash;
public int Winner(int A, int B, int C) {
cash = 0;
if(A != B && B != C && A != C) {
int max = Math.max(A, Math.max(B, C));
cash = max * 100;
}else if(A == B && A == C) {
cash = 10000 + (A * 1000);
}else if(A == B || A == C) {
cash = 1000 + (A * 100);
}else {
cash = 1000 + (B * 100);
}
return cash;
}
public static void main(String[] args) throws IOException {
Main dice = new Main();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int C = Integer.parseInt(st.nextToken());
dice.Winner(A, B, C);
System.out.println(cash);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준 알고리즘 자바] 10953: A+B - 6 (0) | 2023.07.04 |
---|---|
[백준 알고리즘 자바] 2558: A+B - 2 (0) | 2023.05.10 |
[백준 알고리즘 자바] 2525 : 오븐 시계 (0) | 2023.03.07 |
[백준 알고리즘 자바] 15666 : N과 M (12) (0) | 2023.03.03 |
[백준 알고리즘 자바] 15665 : N과 M (11) (0) | 2023.02.24 |