

✅ 문제
3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램 작성하기.
📥 입력
첫째 줄에 3개의 눈이 빈칸을 사이에 두고 각각 주어진다.
📥 출력
첫째 줄에 게임의 상금을 출력 한다.
💡 풀이
간단한 문제로, 문제에 주어진 3가지 조건을 그대로 수식으로 옮겨 쓰면 된다.
1. 입력값 세개가 같으면 10000 + 같은 값 * 1000
2. 두 개가 같으면 1000 + 같은 값 * 100
3. 다 다르면 가장 큰 값 * 100
✅ 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a, b, c;
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();
if(a==b&&a==c) { // 3개 다 같을 경우 10000 + (같은 눈) * 1000
System.out.println(10000+a*1000);
} else if(a==b&&a!=c||a==c&&a!=b) { // 2개만 같은 경우 1000 + (같은 눈) * 100
System.out.println(1000+a*100);
} else if(b==c&&b!=a) { // 2개만 같을 경우 1000 + (같은 눈) * 100
System.out.println(1000+b*100);
} else {
int max = a; // 모두 다른 눈이 나올 때 하나를 임의로 max값에 집어 넣기
if(max<b) max = b; // 다른 주사위 눈과 비교해서 다른 눈이 더 크면 max값 대체
if(max<c) max = c; // 다른 주사위 눈과 비교해서 다른 눈이 더 크면 max값 대체
System.out.println(max*100);
}
}
}
주사위 눈 2개가 같고 하나만 다른 경우를 코드 두 줄로 분리해서 각자 다른 조건으로 넣어준 이유는 출력값이 다르기 때문
주사위 눈 a와b가 같은 경우 or a와c가 같은 경우는 a * 100을 해줘야 하지만 b와 c가 같은 경우 b*100을 해줘야 하므로 결과값이 달라서 결과 처리를 달리 하기 위해 조건을 따로 분리해줬다.
'코딩테스트 > BaekJoon' 카테고리의 다른 글
[백준] 10950번 A+B-3 자바 / java (0) | 2024.04.11 |
---|---|
[백준] 2739번 구구단 - 자바 / java (0) | 2024.04.11 |
[백준] 2525번 오븐 시계 - 자바 / java (1) | 2024.04.04 |
[백준] 2884번 알람 시계 - 자바 / java (0) | 2024.04.04 |
[백준] 14681번 사분면 고르기 - 자바 / java (1) | 2024.04.04 |


✅ 문제
3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램 작성하기.
📥 입력
첫째 줄에 3개의 눈이 빈칸을 사이에 두고 각각 주어진다.
📥 출력
첫째 줄에 게임의 상금을 출력 한다.
💡 풀이
간단한 문제로, 문제에 주어진 3가지 조건을 그대로 수식으로 옮겨 쓰면 된다.
1. 입력값 세개가 같으면 10000 + 같은 값 * 1000
2. 두 개가 같으면 1000 + 같은 값 * 100
3. 다 다르면 가장 큰 값 * 100
✅ 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a, b, c;
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();
if(a==b&&a==c) { // 3개 다 같을 경우 10000 + (같은 눈) * 1000
System.out.println(10000+a*1000);
} else if(a==b&&a!=c||a==c&&a!=b) { // 2개만 같은 경우 1000 + (같은 눈) * 100
System.out.println(1000+a*100);
} else if(b==c&&b!=a) { // 2개만 같을 경우 1000 + (같은 눈) * 100
System.out.println(1000+b*100);
} else {
int max = a; // 모두 다른 눈이 나올 때 하나를 임의로 max값에 집어 넣기
if(max<b) max = b; // 다른 주사위 눈과 비교해서 다른 눈이 더 크면 max값 대체
if(max<c) max = c; // 다른 주사위 눈과 비교해서 다른 눈이 더 크면 max값 대체
System.out.println(max*100);
}
}
}
주사위 눈 2개가 같고 하나만 다른 경우를 코드 두 줄로 분리해서 각자 다른 조건으로 넣어준 이유는 출력값이 다르기 때문
주사위 눈 a와b가 같은 경우 or a와c가 같은 경우는 a * 100을 해줘야 하지만 b와 c가 같은 경우 b*100을 해줘야 하므로 결과값이 달라서 결과 처리를 달리 하기 위해 조건을 따로 분리해줬다.
'코딩테스트 > BaekJoon' 카테고리의 다른 글
[백준] 10950번 A+B-3 자바 / java (0) | 2024.04.11 |
---|---|
[백준] 2739번 구구단 - 자바 / java (0) | 2024.04.11 |
[백준] 2525번 오븐 시계 - 자바 / java (1) | 2024.04.04 |
[백준] 2884번 알람 시계 - 자바 / java (0) | 2024.04.04 |
[백준] 14681번 사분면 고르기 - 자바 / java (1) | 2024.04.04 |