2480 - 주사위 세개알고리즘/백준2023. 8. 15. 12:35
      Table of Contents
        1. 배경지식
Math.max()메서드를 이용하면 숏코딩을 할 수 있다.
2. 문제해결
-주사위의 눈 3개가 모두 같을 때
-주사위의 눈 2개만 같을 때
-주사위의 눈이 모두 다를 때
3. 구현력
-주사위의 눈이 모두 다른경우
if(a != b && a != c && b != c)주사위의 눈이 모두 다를때는 그 중 가장 큰값 X 100원의 상금을 받게되므로,
주사위의 눈 중 가장 큰 값을 찾아야한다.
int max;
if(a > b){
	if(c > a){
    	max = c;
    }
    else{
    max = a;
  }
} //a > b finish
// b > a
else{
    // c > b > a
	if(c > b){
    max = c;
    }
    //b > (a,c)
    else{
    max = b;
    }
   }
-주사위의 눈이 2개만 같을 경우
가장먼저 같은 변수를 찾아야한다.
a를 기준으로 b가 같거나, c가 같은 경우를 판단한다.
즉, a == b || a == c일 경우이다.
위 식을 만족하면 a는 같은 수임이 증명되고 위 식을 만족하지 않으면 b == c인 경우가 된다.
// 주사위의 눈이 두개가 같을경우
else{
	if(a == b && a == c) {
    
    }
    else{
	    //a가 b혹은 c랑 같은 경우
    	if(a == b || a == c){
        
        }
        //b가 c랑 같은 경우
        else{
        
        }
    }
}
✏️전체코드
package boj;
import java.util.Scanner;
public class b2480 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		
		//모든변수가 다른경우
		if(a != b && b != c && a != c) { //이 부분은 Math.max를 통해 더 간략히할수있음.
			int max;
			if(a>b) {
				//c > a > b라면
				if(c > a) {
					max = c;
				}
				// a > (b,c)
				else {
					max = a;
				}
				// b > a라면
			}else {
				// c > b > a라면
				if(c > b) {
					max = c;
				}
				// b> (a,c)
				else {
					max = b;
				}
			}
			System.out.println(max * 100);
		}else {
			// 3개의 변수가 모두 같은경우
			if(a==b && a==c) {
				System.out.println(10000 + a * 1000);
			}else {
				//a가 b혹은 c랑 같은경우
				if(a==b || a==c) {
					System.out.println(1000 + a * 100);
				}
				//b가 c랑 같은경우
				else {
					System.out.println(1000 + b * 100);
				}
			}
		}
		
		
	}
}728x90
    
    
  '알고리즘 > 백준' 카테고리의 다른 글
| 8393 - 합 (0) | 2023.08.16 | 
|---|---|
| 10950 - A + B - 3 (0) | 2023.08.16 | 
| 2525 - 오븐 시계 (0) | 2023.08.15 | 
| 2884 - 알람 시계 (0) | 2023.08.15 | 
| [백준] - 18108 1998년생인 내가 태국에선 2541년생?! (0) | 2023.08.15 | 
@leegeonwoo :: geonwoo
            포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!