[백준/Java] 2480번 - 주사위 세 개

Moon·2022년 6월 15일
post-thumbnail

점심에 너무 졸려서 문제를 풀면 덜 졸릴까하는 생각으로 백준에 들어갔다. 어려운거 풀면 더 졸릴까봐 간단해 보이는 걸 골랐는데 숫자 세 개에 대한 조건문을 만드는 문제였다.


💡풀이

3개가 같을 때 (a == b == c)
2개가 같을 때 (a == b / a == c / b == c)
모두 다를 때 (a !=b && b!= c)

그냥 모든 케이스를 조건문으로 만들어도 답이 나오기 때문에 (빠뜨리지만 않는다면) 간단한 문제이지만 좀 더 보기 좋고 효율적인 조건문을 작성해보고 싶었다.

  • a == b == ca == b && b == c인데 가장 좁은 범위이기 때문에 이 조건을 먼저 작성해 주고 나머지 조건들은 else if 문으로 작성했다.
  • 2개 같은 경우는 3개가 같은 경우가 아닐 때 (else if) 3가지 조건으로 각각 구해줄 수 있다. a==b, a==c, b==c
  • 위의 조건들을 다 작성해주면 자연스레 나머지 경우는 숫자 3개가 모두 다른 경우이다. 그렇기 때문에 굳이 조건을 써주지 않아도 else로 작성해 줄 수 있다.
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int money = 0;

        if (a == b && a == c) {
            System.out.println(10000 + a * 1000);
        } else if (a == b) {
            System.out.println(1000 + a * 100);
        } else if (a == c) {
            System.out.println(1000 + a * 100);
        } else if (b == c) {
            System.out.println(1000 + b * 100);
        } else {
            System.out.println(Math.max(a, Math.max(b,c)) * 100);
        }
    }
}
profile
매일 성장하는 개발자 되기😊

0개의 댓글