Algorithm/문제풀이_백준
Swift) 백준 2309번 (일곱 난쟁이)
Joahnee
2021. 8. 26. 08:11
요구능력 : 브루트포스 알고리즘을 알고있느냐
코드설명 :
result배열을 만들어서 랜덤으로 선택한 값을 가지고 있지 않으면 result배열에 저장해주고 sum에 더해준다.
그렇게 7번 더해주고 while문을 빠져나왔을 때 sum이 100이면 바깥의 while문을 탈출해준다.
왜 랜덤으로 풀었냐고 물으면 키가 모두 다르고 정답이 여러가지인 경우에는 아무거나 출력가능했기 때문이다.
후기 : 랜덤으로 풀어버렸다.
var result: [Int] = []
var arr: [Int] = []
for _ in 1...9 {
arr.append(Int(readLine()!)!)
}
while true{
var sum = 0
var j = 0
result = Array(repeating: 0, count: 7)
while j < 7 {
let a = arr.randomElement()!
if result.firstIndex(of: a) == nil {
result[j] = a
sum += result[j]
j += 1
}
}
if sum == 100 {
break
}
}
result.sort()
for i in 0..<7 {
print("\(result[i])")
}