# 문제 설명
- 0015 3sum 문제와 거의 유사한 풀이 가능
- 차이값이 갱신되는 경우 해당 요소 세개에 대한 합 값을
result
변수에 저장 - 합 값이 타겟값보다 큰 경우 오른쪽 포인터를 한칸 이동
- 합 값이 타겟값보다 작은 경우 왼쪽 포인터를 한칸 이동
class Solution {
func threeSumClosest(_ nums: [Int], _ target: Int) -> Int {
var sortedNums = nums.sorted()
var minDiff = Int.max
var result = Int.max
for i in 0..<sortedNums.count {
var left = i + 1
var right = sortedNums.count - 1
while(left < right) {
let sum = sortedNums[i] + sortedNums[left] + sortedNums[right]
if minDiff > abs(target - sum) {
minDiff = abs(target - sum)
result = sum
}
if sum > target {
right -= 1
} else {
left += 1
}
}
}
return result
}
}