https://www.acmicpc.net/problem/2309
난이도 : 브론즈 1
태그 : 정렬, 브루트포스
설명
9명의 난쟁이가 주어졌을 때,
합이 100이 되는 7명의 난쟁이를 찾는 문제입니다.
9명의 난쟁이 키의 합을 구한 뒤,
9명 중 2명을 선택해 난쟁이 키 합에서 뺀 뒤, 100이 되는 케이스를 찾으면 될 것 같습니다.
소스코드
fun main() {
val height = Array(9) { 0 }
repeat(9) { height[it] = readLine()!!.toInt() }
height.sort()
val sum = height.sum()
var ptr1 = -1
var ptr2 = -1
var isFinish = false
for (i in 0 until 9) {
for (j in 0 until 9) {
if (i == j) continue
val seven = sum - height[i] - height[j]
if (seven == 100) {
ptr1 = i
ptr2 = j
isFinish = true
break
}
}
if (isFinish) break
}
repeat(9) { if (it != ptr1 && it != ptr2) println(height[it]) }
}
'코딩테스트 > Kotlin' 카테고리의 다른 글
[백준 4344번] [Kotlin] 평균은 넘겠지 (0) | 2023.06.22 |
---|---|
[백준 2573번] [Kotlin] 빙산 (0) | 2023.06.21 |
[백준 1547번] [Kotlin] 공 (0) | 2023.06.18 |
[백준 2589번] [Kotlin] 보물섬 (0) | 2023.06.15 |
[백준 18110번] [Kotlin] solved.ac (0) | 2023.06.14 |