코딩 테스트

[코딩테스트] 백준 2480번: 주사위 세개

dev.jelee 2025. 5. 11. 01:36

# 문제

 

# 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    String[] strs = br.readLine().split(" ");

    int a = Integer.parseInt(strs[0]);
    int b = Integer.parseInt(strs[1]);
    int c = Integer.parseInt(strs[2]);

    if (a == b && b == c) { // 3개 같으면
      System.out.println(10000 + (a * 1000));
    } else if (a == b || b == c || a == c) { // 2개 같으면
      if (a == b) {
        System.out.println(1000 + (a * 100));
      } else if (b == c) {
        System.out.println(1000 + (b * 100));
      } else {
        System.out.println(1000 + (c * 100));
      }
    } else { // 전부 다르면
      int maxNum = Math.max(Math.max(a, b), c);
      
      System.out.println(maxNum * 100);
    }
  }
}

 

# 입/출력 결과

 

# 과정

  1. BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
  2. 한 줄로 입력 받은 값을 공백으로 나누어서 String[] strs에 저장.
  3. int타입의 a, b, c에 각각 strs 값들을 순차적으로 저장.
  4. if문을 사용하여 계산
    • 논리 연산자 사용, Mah.max() 사용
    • 3개의 값이 같으면 10000 + (a * 1000) 계산 후 출력
    • 2개의 값이 같으면 1000 + ((a or b or c) * 100) 계산 후 출력
    • 값이 모두 다르면 100 * (3개 중 가장 큰 수) 계산 후 출력

 

# 느낀 점

  • 생각보다 이전 문제 보다는 쉬웠다. 논리연산자를 적절히 사용하고 가장 큰 수를 구하는 건 자바스크립트에서도 사용해봤던 클래스와 메서드라서 수월하게 풀었다.