λ¬Έμ
νμ΄ κ³Όμ
λ¬Έμ λ λ μμ ν©μΌλ‘ target
κ°μ λ§λ€μ΄λ΄λ κ²½μ°λ₯Ό μ°Ύλ κ²μ
λλ€.
μ λ λΈλ£¨νΈ ν¬μ€
λ₯Ό μ¬μ©νμ¬ λͺ¨λ λ μ«μ μ‘°ν©μ λ§λ€μ΄λ³Έ λ€μ λ΅μ μ°Ύμλμ΅λλ€.
λ¬Έμ ν΄μ€μμλ ν΄μ ν
μ΄λΈ
μ μ¬μ©νλ λ°©λ²λ μμλλ° μ΄λ λͺ¨λ μλ₯Ό μΈλ±μ€ κ°κ³Ό ν¨κ» ν΄μ ν
μ΄λΈ
μ μ μ₯ν λ€(target - λ°°μ΄μ κ° μ«μ)
μ ν΄λΉνλ μκ° ν΄μν
μ΄λΈ
μ μ‘΄μ¬νλμ§ μ¬λΆλ₯Ό λ°μ Έ
μκ°λ³΅μ‘λλ₯Ό μ€μ΄λ λ°©λ²λ μ μνκ³ μμ΅λλ€.
λ§μ½ (target - λ°°μ΄μ κ° μ«μ)
κ° νμ¬ ν΄μν
μ΄λΈ
μ μ‘΄μ¬νλ€λ©΄ κ·Έλλ‘ λ΅μ λ§λ€μ΄ λ°ννκ³
μ‘΄μ¬νμ§ μμΌλ©΄ νμ¬ μΈλ±μ€μ κ°μ ν΄μ ν
μ΄λΈ
μ μΆκ°ν΄μ€λλ€.
μ½λ
λΈλ£¨νΈ ν¬μ€
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function (nums, target) {
// λͺ¨λ μ‘°ν©μ μμ±ν©λλ€.
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
if (nums[i] + nums[j] == target) {
ans = [i, j];
return ans;
}
}
}
};
Map μ μ¬μ©ν λ°©λ²
var twoSum = function (nums, target) {
const map = new Map();
for (let i = 0; i < nums.length; i++) {
const remain = target - nums[i];
if (map.has(remain)) {
return [map.get(remain), i];
}
map.set(nums[i], i);
}
};
'π algorithm > leetcode' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
LeetCode 49 - Group Anagrams (Medium) (0) | 2021.03.02 |
---|---|
LeetCode 200 - Number of Islands (Medium) (0) | 2021.03.02 |
LeetCode 64 - Minimum Path Sum (Medium) (0) | 2021.03.02 |
LeetCode 55 - Jump Game (Medium) (0) | 2021.03.02 |
LeetCode 70 - Climing Stairs (Easy) (0) | 2021.03.02 |
π¬ λκΈ