1. Two Sum

μ •μˆ˜ λ°°μ—΄ nums κ³Ό μ •μˆ˜ target 이 주어지면
λ°°μ—΄ λ‚΄μ—μ„œ 합이 target 이 λ˜λŠ” 두 숫자의 인덱슀λ₯Ό λ°˜ν™˜ν•˜λ„λ‘ μž‘μ„±ν•˜λΌ.

Example 1:
    Input: nums = [2,7,11,15], target = 9
    Output: [0,1]
    Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].

Example 2:
    Input: nums = [3,2,4], target = 6
    Output: [1,2]

Example 3:
    Input: nums = [3,3], target = 6
    Output: [0,1]
 

Constraints:
    2 <= nums.length <= 10^4
    -10^9 <= nums[i] <= 10^9
    -10^9 <= target <= 10^9
    Only one valid answer exists.

Solution

class Solution {
    func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
        for i in 0..<nums.count {
            for j in 1+i..<nums.count {
                if nums[i] + nums[j] == target {
                    return [i, j]
                }
            }
        }
        return []
    }
}

이쀑 for 문으둜 두 개의 μš”μ†Œμ˜ 합이 target 이 λ˜λŠ”μ§€λ₯Ό ν™•μΈν•˜λŠ” λ°©λ²•μœΌλ‘œ κ΅¬ν˜„ν•˜μ˜€λ‹€.
target κ³Ό μΌμΉ˜ν•˜λŠ” 합을 μ°ΎλŠ”λ‹€λ©΄ ν•΄λ‹Ή μš”μ†Œμ˜ 인덱슀λ₯Ό 넣은 배열을 λ°˜ν™˜ν•œλ‹€.


πŸ“š Reference
LeetCode-1-TwoSum