ToBe끝판왕

[ 알고리즘 ] 백준 2480번 문제 - 자바( JAVA ) 본문

■ 알고리즘/백준 JAVA

[ 알고리즘 ] 백준 2480번 문제 - 자바( JAVA )

업그레이드중 2022. 5. 24. 10:12
반응형

주의사항

※ 백준에서 정해진 출력 형식을 출력해야 한다.
※ 백준 알고리즘에서는 클래스명을 Main으로 해주어야 한다.

 


 

백준 2480번 문제

 

백준 알고리즘의 단계별 문제 풀기

2단계 < 조건문 >

 

 해당 문제 링

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

 

2480번: 주사위 세개

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

www.acmicpc.net

 


 

코딩 하기

 

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();
    
    	sc.close();
    
    	if( a==b && a==c ) {
        	System.out.println( 10000 + a*1000 );
        } else if( a==b && a!=c ) {
        	System.out.println( 1000 + a*100 );
        } else if( a==c && a!=b ) {
        	System.out.println( 1000 + a*100 );
        } else if( b==c && a!=b ) {
        	System.out.println( 1000 + b*100 );
        } else {
        	int max = a;
            if( max < b ) {
            	max = b;
            }
            if( max < c ) {
            	max = c;
            }
            System.out.println( max*100);
        }
    }
}

 

 

 

문제 해결

 

1) 주사위 경우에 대한 식 만들기

경우의 수 식 만들기
주사위 3개 모두 같다. a == b && a == c
주사위 2개가 같다. a == b && a != c
주사위 2개가 같다. a == c && a != b
주사위 2개가 같다. b == c && a != b
주사위 3개가 모두 다르다. 없음

 

 

2) 최대값 구하기

 

•  Math 클래스의 max 메서드 이용

-  max( )메서드는 두 인자 값중 큰값을 리턴하는 함수

-  인자는 2개까지 가능하므로 ( b, c ) 비교 후, a와 ( b, c )중 큰값을 다시 비교한다.

Math.max( a , b )

 

•  max 메서드를 이용한 풀이도 가능하다.

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();
        
        sc.close();
        
        if( a == b && a == c && b == c ) {
            System.out.print( 10000 + ( a*1000 ) );
        } else if( a == b || a == c ) {
            System.out.print( 1000 + ( a*100 ) );
        } else if( b == c ) {
            System.out.print( 1000 + ( b*100 ) );
        } else {
            System.out.print( ( Math.max(a, Math.max(b, c) ) *100 ) );
        }
    }
}

 

 

 

반응형
Comments