
https://www.acmicpc.net/problem/2480
2480번: 주사위 세개
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개
www.acmicpc.net
한 자리 수를 세 개 입력받아 같은 수가 나오는 경우마다 다르게 처리하여 result를 출력하는 문제.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
package backjon.step02;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Problem2480 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int num1 = Integer.parseInt(st.nextToken());
int num2 = Integer.parseInt(st.nextToken());
int num3 = Integer.parseInt(st.nextToken());
int result = 0;
int[] numArr = {num1, num2, num3};
// Arrays 클래스의 sort() 메소드 사용
// 값이 작은 순으로 배열이 재배치됨.
Arrays.sort(numArr);
if(num1 == num2 && num1 == num3) { // 세 값이 같을 때
result = 10000 + num1 * 1000;
} else if(num1 == num2 || num1 == num3) {
result = 1000 + num1 * 100;
} else if(num2 == num3) {
result = 1000 + num2 * 100;
} else {
// 가장 큰 값은 배열의 마지막 인덱스에 담김.
result = numArr[numArr.length-1] * 100;
// Math 클래스의 max() 메소드 사용
result = Math.max(num1, Math.max(num2, num3));
}
System.out.println(result);
}
}
|
cs |
Arrays.sort(int[] intArr] 메소드를 사용해 인덱스값을 활용해 풀거나
Math.max(int a, int b) 메소드를 사용하여 풀 수 있다.
'Algorithm' 카테고리의 다른 글
| 백준 #2573 빙산 (BFS) - Java (0) | 2022.10.07 |
|---|---|
| 프로그래머스 #Level1 체육복 - Java (0) | 2022.09.21 |
| 백준 #4344 평균은 넘겠지 - java (0) | 2022.05.09 |
| 백준 알고리즘 2525 - java (0) | 2022.04.27 |
| 백준 알고리즘 2588 - java (0) | 2022.04.26 |