[필수 문제] 주사위 게임
2021. 2. 11. 22:44ㆍ코딩 테스트/필수 문제
1. 문제
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.
-
규칙(1) 같은 눈이 3개가 나오면 10,000원+(같은 눈)*1,000원의 상금을 받게 된다.
-
규칙(2) 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)*100원의 상금을 받게 된다.
-
규칙(3) 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)*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원을 상금으로 받게 된다.
N(2≤N≤1,000) 명이 주사위 게임에 참여하였을 때, 가장 많은 상금을 받은 사람의 상금을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에는 참여하는 사람 수 이 주어지고 그 다음 줄부터 N개의 줄에 사람들이 주사위를 던진 3개의 눈이 빈칸을 사이에 두고 각각 주어진다.
출력
첫째 줄에 가장 많은 상금을 받은 사람의 상금을 출력한다.
예제 입력
3
3 3 6
2 2 2
6 2 5
예제 출력
12000
2. 풀이
import java.io.*;
import java.util.StringTokenizer;
public class Main {
private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
public static void main(String[] args) throws IOException {
int n = Integer.parseInt(br.readLine());
int[] score = new int[n];
StringTokenizer st;
for(int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
if(a == b && b == c) score[i] = 10000 + a * 1000;
else if(a == b || a == c) score[i] = 1000 + a * 100;
else if(b == c) score[i] = 1000 + b * 100;
else score[i] = Math.max(Math.max(a, b), c) * 100;
}
int max = 0;
for(int i = 0; i < n; i++) {
if(max < score[i]) max = score[i];
}
bw.write(max + "");
br.close();
bw.flush();
bw.close();
}
}
728x90
'코딩 테스트 > 필수 문제' 카테고리의 다른 글
[필수 문제] GCD LCM (0) | 2021.02.12 |
---|---|
[필수 문제] 상자 꾸미기 (0) | 2021.02.12 |
[필수 문제] offset (0) | 2021.02.11 |
[필수 문제] 숫자 피라미드 (0) | 2021.02.11 |