본문 바로가기
백준

[백준] 2476번 : 주사위 게임 – JAVA [자바]

by Hongwoo 2022. 8. 9.
반응형

https://www.acmicpc.net/problem/2476

 

2476번: 주사위 게임

첫째 줄에는 참여하는 사람 수 N이 주어지고 그 다음 줄부터 N개의 줄에 사람들이 주사위를 던진 3개의 눈이 빈칸을 사이에 두고 각각 주어진다. 

www.acmicpc.net

 


  • 문제

 

 


  • 문제 풀이

백준 2476번 주사위 게임은 브론즈 3 난이도의 수학 및 구현 문제이다. 이 문제에서는 N개의 테스트 케이스가 주어진다. 그리고 각각의 테스트 케이스에서 세 개의 수 a, b, c가 주어진다. 그리고 세 가지의 경우로 나뉜다.

 

  1. 3개의 숫자 모두가 같으면 10,000원+(같은 숫자) ×1,000원의 상금을 받게 된다. 
  2. 2개의 숫자만 같으면 1,000원+(같은 숫자) × 100원의 상금을 받게 된다. 
  3. 3개의 숫자가 모두 다르면 (그중 가장 큰 숫자) × 100원의 상금을 받게 된다.

따라서 a, b, c를 StringTokenizer를 이용해서 입력받고 이 경우에 맞게 if 문을 써주면 된다.

 

자세한 코드는 밑에 있다.

 


  • 코드

 

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        int max = 0; //가장 많은 상금
        int total = 0;  //현재 상금
        for (int i = 0; i < n; i++) {
            StringTokenizer 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) {
                total = 10000 + a * 1000;
            } else if (a == b) {
                total = 1000 + a * 100;
            } else if (b == c) {
                total = 1000 + b * 100;
            } else if (c == a) {
                total = 1000 + c * 100;
            } else {
                total = Math.max(a, Math.max(b,c)) * 100;
            }
            max = Math.max(max, total);
        }
        System.out.print(max);
    }
}

 

 

반응형

댓글