반응형
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();
}
}
'개발 > [백준] 브론즈 마스터하기' 카테고리의 다른 글
[백준] 10430번_나머지 (JAVA) (0) | 2022.06.22 |
---|---|
[백준] 18108번_1998년생인 내가 태국에서는 2541년생?! (JAVA) (0) | 2022.06.22 |
[백준] 2525번_오븐시계 (JAVA) (0) | 2022.06.22 |
[백준] 2884번_알람시계 (JAVA) (0) | 2022.06.22 |
[백준] 14681번_사분면 고르기 (JAVA) (0) | 2022.06.22 |