Uknow's Lab.
article thumbnail

https://www.acmicpc.net/problem/2309

 

2309번: 일곱 난쟁이

아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.

www.acmicpc.net

 

난이도 : 브론즈 1
태그 : 정렬, 브루트포스

 

 

1. 설명

9명의 난쟁이가 주어졌을 때,

합이 100이 되는 7명의 난쟁이를 찾는 문제입니다.

 

9명의 난쟁이 키의 합을 구한 뒤,

9명 중 2명을 선택해 난쟁이 키 합에서 뺀 뒤, 100이 되는 케이스를 찾으면 될 것 같습니다.

 

 

 

2. 소스코드

<kotlin />
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]) } }

 

 

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.