문제
두 개 뽑아서 더하기
풀이
import Foundation
func solution(_ numbers:[Int]) -> [Int] {
var set = Set<Int>()
var numbers = numbers
while numbers.count > 0 {
let last = numbers.popLast()!
for num in numbers {
set.insert(num+last)
}
}
return Array(set).sorted()
}
🤔 FEEDBACK
- two pointer 방식을 생각하고 맨 마지막 값을 pop 시켜서 서로 다른 인덱스가 계속 더해지도록 했다.
- Set을 통해 중복을 제거한채로 Array를 sorted() 하여 반환했다.
다른 풀이
import Foundation
func solution(_ numbers:[Int]) -> [Int] {
var result = [Int]()
for i in 0 ..< numbers.count {
for j in i + 1 ..< numbers.count {
let num = numbers[i] + numbers[j]
if !result.contains(num) {
result.append(num)
}
}
}
return result.sorted()
}