본문 바로가기
개발/[백준] 브론즈 마스터하기

[백준] 2480번_주사위 세개 (JAVA)

by 쑨토리 2022. 6. 22.
반응형

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

 

2480번: 주사위 세개

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.  같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.  같은 눈이 2개

www.acmicpc.net

 

 

 

 

 


참고해서 사용한 함수 

⚫️ Math.max 

- static int max(int a , int b)

- static double max(double a , double b)

- static float max(float a , float b)

- static long max(long a , long b)

max() 함수는 두 인자 값 중 큰 값을 리턴하는 함수.

 

그래서 세 함수를 비교하기 위해서

Math.max ( a , Math.max( b , c ) ) 오 코드를 짰다. 

 

 


처음 풀이(오류남) ⤵️

 

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        int a = in.nextInt(); int b = in.nextInt(); int c = in.nextInt();
        
        if (a == b && b == c) {
            System.out.println(10000 + a * 1000);
        } else if (a != b && b != c) {
            System.out.println(Math.max(a, Math.max(b, c)) * 100);
        } else if (a == b || a==c) {
            System.out.println(1000 + a * 100);
        } else {
            System.out.println(1000 + b * 100);
        }
        in.close();
    }
}

 

 


 

정답 풀이 ⤵️

 

오류가 난 이유는 세 주사위가 모두 다를 경우의 조건을 잘못 입력했기 때문.

다시 a!=c 조건을 추가해주었다.

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        int a = in.nextInt(); int b = in.nextInt(); int c = in.nextInt();
        
        if (a == b && b == c) {
            System.out.println(10000 + a * 1000);
        } else if (a != b && b != c & a!= c) {
            System.out.println(Math.max(a, Math.max(b, c)) * 100);
        } else if (a == b || a==c) {
            System.out.println(1000 + a * 100);
        } else {
            System.out.println(1000 + b * 100);
        }
        in.close();
    }
}