백준 2309번 일곱 난쟁이
https://www.acmicpc.net/problem/2309
swift에는 combination이 없어서 직접 구현해야한다. combination함수를 구현하고 9C7의 경우를 구하면 쉽게 풀 수 있다.
func combination<T>(_ elements: [T], _ k: Int) -> [[T]] {
var result = [[T]]()
func combi(_ index: Int, _ now: [T]) {
if now.count == k {
result.append(now)
return
}
for i in index..<elements.count {
combi(i + 1, now + [elements[i]])
}
}
combi(0, [])
return result
}
var sum = [Int]()
for _ in 0..<9 {
let height = Int(readLine()!) ?? 0
sum.append(height)
}
sum.sort()
for i in combination(sum,7) {
if i.reduce(0, +) == 100 {
for j in i {
print(j)
}
break
}
}
Author And Source
이 문제에 관하여(백준 2309번 일곱 난쟁이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@quokka/백준-2309번-일곱-난쟁이저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)