```
백준 2476번 주사위 게임 JAVA 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 2476번 풀이
https://www.acmicpc.net/problem/2476
2476번: 주사위 게임
첫째 줄에는 참여하는 사람 수 N이 주어지고 그 다음 줄부터 N개의 줄에 사람들이 주사위를 던진 3개의 눈이 빈칸을 사이에 두고 각각 주어진다.
www.acmicpc.net
백준 2476번 주사위 게임은
난이도 브론즈 등급의 문제로서
6면 주사위를 3번 던져서
모두 같은 눈이 나오면 10,000원 + 같은 눈 * 1,000원의 상금을 받고
같은 눈이 두개만 나오면 1,000원 + 같은 눈 * 100원의 상금을 받고
같은 눈이 없으면 제일 큰 눈 * 100원의 상금을 받을 때
테스트 케이스만큼 눈을 입력받고
가장 큰 상금을 출력해주면 되는 문제입니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
간단하게
입력을 받고
조건에 맞춰서 출력하면 되는 문제나
뭔가 제가 만든 메서드가 긴 것 같아서
메서드를 쪼개서 클린 코드로 만들어볼까도 생각해봤지만
시간 관계상 그냥 제출만 했습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) throws IOException {
final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
final int testCase = Integer.parseInt(br.readLine());
List<String> inputList = new ArrayList<>();
for (int i = 0; i < testCase; i++) {
inputList.add(br.readLine());
}
System.out.print(solution(inputList));
}
public static String solution(List<String> resultList) {
int maxPrize = resultList.stream().mapToInt(str -> {
int price = 0;
List<Integer> list = Arrays.stream(str.split(" "))
.map(Integer::parseInt)
.collect(Collectors.toList());
final int eye01 = list.get(0);
final int eye02 = list.get(1);
final int eye03 = list.get(2);
//같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.
if (eye01 == eye02 && eye02 == eye03) {
price += 10000 + (eye01 * 1000);
}
//같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.
else if (eye01 == eye02) {
price += 1000 + (eye01 * 100);
} else if (eye01 == eye03) {
price += 1000 + (eye01 * 100);
} else if (eye02 == eye03) {
price += 1000 + (eye02 * 100);
}
//모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.
else {
price += list.stream().max(Comparator.naturalOrder()).get() * 100;
}
return price;
}).max().getAsInt();
return String.valueOf(maxPrize);
}
}
// https://codemasterkimc.tistory.com
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90
'Java > Java 알고리즘' 카테고리의 다른 글
| 백준 7567번 그릇 JAVA 구현해보기 (0) | 2022.06.04 |
|---|---|
| 백준 2754번 학점계산 JAVA 구현해보기 (1) | 2022.06.04 |
| 백준 2935번 소음 JAVA 구현해보기 (0) | 2022.06.03 |
| 백준 4458번 첫 글자를 대문자로 JAVA 구현해보기 (0) | 2022.06.03 |
| 백준 4470번 줄번호 JAVA 구현해보기 (0) | 2022.06.03 |