1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.
같은 눈이 3개가 나오면 10,000원+(같은 눈)1,000원의 상금을 받게 된다.
같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)100원의 상금을 받게 된다.
모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)100원의 상금을 받게 된다.
예를 들어
3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3100으로 계산되어 1,300원을 받게 된다.
또 3개의 눈이 2, 2, 2로 주어지면 10,000+21,000 으로 계산되어 12,000원을 받게 된다.
3개의 눈이 6, 2, 5로 주어지면 그 중 가장 큰 값이 6이므로 6100으로 계산되어 600원을 상금으로 받게 된다.
N (2≤ N ≤1,000) 명이 주사위 게임에 참여하였을 때, 가장 많은 상금을 받은 사람의 상금을 출력하는 프로그램을 작성하시오.
프로그램의 실행시간은 1초를 넘을 수 없다. 부분 점수는 없다.
답
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int sum = 0;
int x = 0;
for (int q = 0; q < n; q++) {
int max = 0;
int[] arr = new int[6];
for (int i = 0; i < 3; i++) {
arr[scanner.nextInt()-1]++;
}
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 3) {
max = 10000 + (i+1) * 1000;
break;
} else if (arr[i] == 2) {
max = 1000 + (i+1) * 100;
break;
} else if (arr[i] == 1) {
x = Math.max(x, (i+1));
max = x * 100;
}
}
sum = Math.max(sum, max);
}
System.out.println(sum);
}
문제 http://59.23.150.58/30stair/d_game/d_game.php?pname=d_game
답
import java.util.Scanner;
public class Main { public static void main(String args[]) {
}