2480번: 주사위 세개백준/단계별로 풀어보기2023. 5. 19. 14:52
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/2480
언어 : Kotlin
문제 설명 :
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.
- 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.
- 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다.
- 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.
예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게 된다.
3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.
- 첫째 줄에 3개의 눈이 빈칸을 사이에 두고 각각 주어진다.
- 첫째 줄에 게임의 상금을 출력 한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 256MB
입출력 예 :
입력 | 출력 |
3 3 6 | 1300 |
2 2 2 | 12000 |
6 2 5 | 600 |
풀이 :
fun main(args: Array<String>) {
var answer = readln().split(" ").map { it.toInt() }
val groupSize = answer.groupBy { it }.count()
when (groupSize) {
1 -> println(10000 + answer[0] * 1000)
2 -> println(1000 + answer.groupBy { it }.filter { it.value.size >= 2 }.values.maxOf { it.max() } * 100)
3 -> println(answer.max() * 100)
}
}
'백준 > 단계별로 풀어보기' 카테고리의 다른 글
10950번: A + B - 3 (0) | 2023.05.22 |
---|---|
2739번: 구구단 (0) | 2023.05.22 |
2525번: 오븐 시계 (0) | 2023.05.19 |
2884번: 알람 시계 (0) | 2023.05.19 |
14681번: 사분면 고르기 (0) | 2023.05.19 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!