요구능력 : 브루트포스 알고리즘을 알고있느냐
코드설명 :
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])")
}
'Algorithm > 문제풀이_백준' 카테고리의 다른 글
Swift) 백준 1463번 (1로 만들기) (0) | 2021.08.28 |
---|---|
Swift) 백준 1476번 (날짜 계산) (0) | 2021.08.26 |
Swift) 백준 2609번 (최대공약수와 최소공배수) (0) | 2021.08.25 |
Swift) 백준 17425번 (약수의 합) (0) | 2021.08.25 |
Swift) 백준 17427번 (약수의 합 2) (0) | 2021.08.25 |
댓글