NO.2480
풀이코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n1 = sc.nextInt();
int n2 = sc.nextInt();
int n3 = sc.nextInt();
sc.close();
// 모두 다른 눈이 나오는 경우
if(n1!=n2 && n2!=n3 && n3!=n1) {
int max;
// max 설정하기
// 1. n1>n2 => n1>n2, n3 or n3>n1>n2
if(n1>n2) {
if(n3>n1) {
max = n3;
}else {
max = n1;
}
}
// 2. n2>n1 => n2>n1, n3 or n3>n2>n1
else {
if(n3>n2) {
max = n3;
} else {
max = n2;
}
}
System.out.println(max*100);
}
// 같은 눈이 2개 이상 나오는 경우
else {
// 3개 모두 같은 경우
if(n1==n2 && n1==n3) {
System.out.println(10000+n1*1000);
}
// 2개만 같은 경우 => n1&n2 or n2&n3 or n1&n3
else {
if(n1==n2 || n2==n3) { // n1&n2 or n2&n3
System.out.println(1000+n2*100);
}
else { // n1&n3
System.out.println(1000+n1*100);
}
}
}
}
}
📌 머릿속으로만 생각하면서 풀지말고, 주석으로 해결해나갈 방향을 잡고 풀면 더 쉽게 풀린다.
세 개 모두 다른 눈이 나오는 경우는 최대값도 구해야해서 제일 번거롭기때문에 가장 앞으로 빼서
먼저 풀었다.
최대값하니까 생각났는데, Math 함수로도 max 구할 수 있잖아..?
좀 더 간결하게 코드 짜볼 겸 다시 풀어보자.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n1 = sc.nextInt();
int n2 = sc.nextInt();
int n3 = sc.nextInt();
sc.close();
if(n1!=n2 && n1!=n3 && n2!=n3) {
int max = Math.max(n1, Math.max(n2, n3));
System.out.println(max * 100);
} // 모두 같은 눈
else if(n1==n2 && n1==n3 && n2==n3) {
System.out.println(10000+n1*1000);
} // 2개만 같은 눈
else {
if(n1==n2 || n1==n3) {
System.out.println(1000+n1*100);
} else { // n2 == n3
System.out.println(1000+n2*100);
}
}
}
}
📌 역시 간결한게 최고다👍 이걸로 백준 2단계 끝!
'JAVA-BAEKJOON > 2단계 조건문' 카테고리의 다른 글
[백준/02-06] 2525 오븐 시계 (0) | 2024.02.20 |
---|---|
[백준/02-05] 2884 알람 시계 (0) | 2024.02.19 |
[백준/02-04] 14681 사분면 고르기 (0) | 2024.02.19 |
[백준/02-03] 2753 윤년 (0) | 2024.02.18 |
[백준/02-02] 9498 시험 성적 (0) | 2024.02.18 |