
https://leetcode.com/problems/two-sum/
class Solution {
func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
for a in 0..<nums.count {
for b in (a+1)..<nums.count {
if target == nums[a] + nums[b] {
return [a, b]
}
}
}
return []
}
}
처음에는
class Solution {
func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
for a in 0...nums.count-1 {
for b in 0...a {
if a == b {
continue
}
if target == nums[a] + nums[b] {
return [a, b].sorted()
}
}
}
return [0, 0]
}
}
이렇게 했으나, sorted()때문에 시간이 생각보다 많이 걸렸다.
정답의 0번째 인덱스가 1번째 인덱스보다 작으므로 b < a 조건을 먼저 염두해 두고 푸는게, 더 효과적이어보인다.