์ฝ๋
import java.util.HashMap;
import java.util.Map;
class Solution {
public int[] twoSum(int[] nums, int target) {
// ํด์ฌ๋งต ํ์ฉ
Map<Integer, Integer> numsMap = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
// target์์ nums ๊ฐ์ ๋บ ๊ฒฐ๊ณผ๊ฐ ๋งต์ ์์ผ๋ฉด ์ด๋ฅผ ๋ฐํ.
if (numsMap.containsKey(target - nums[i])) {
return new int[] {numsMap.get(target - nums[i]), i};
}
// ์์ผ๋ฉด ์ถ๊ฐ
numsMap.put(nums[i], i);
}
return null;
}
}
//class Solution {
// public int[] twoSum(int[] nums, int target) {
// // ์
๋ ฅ๊ฐ ๋ฐฐ์ด์ ์ฒ์๋ถํฐ ์ํ
// for (int i = 0; i < nums.length; i++) {
// // ์
๋ ฅ๊ฐ ๋ฐฐ์ด์ ๊ทธ ๋ค์๋ถํฐ ์ํ
// for (int j = i + 1; j < nums.length; j++) {
// // ๋ ๊ฐ์ ํฉ์ ๋น๊ตํด target๊ณผ ์ผ์นํ๋ ๊ฒฝ์ฐ ์ ๋ต์ผ๋ก ๋ฆฌํด
// if (nums[i] + nums[j] == target) {
// return new int[]{i, j};
// }
// }
// }
// return null;
// }
//}
Java
๋ณต์ฌ
์ฒ์์ numsMap.put(nums[i], i); ์ด ๋ถ๋ถ์ด ์ ์ดํด๊ฐ ์๋์๋๋ฐ, if ์กฐ๊ฑด์ด ์์ ๊ฒฝ์ฐ ํด์ฌ๋งต์ ๊ฐ์ ์ถ๊ฐํ๊ณ ์กฐ๊ฑด ๋ง์กฑ ์ get()์ผ๋ก ๋ฐ๋ก ๊ฐ์ ์กฐํํ๋ ๊ฒ์ ๋ณด๊ณ ์ ์์ ํ์์ ๋นํด ํจ์จ์ฑ์ ๋์ผ ์ ์๋์ง ์ดํด๊ฐ ๋๋ค.
๋ฌธ์ ํด๊ฒฐ ์์ด๋์ด
์์ ํ์์ผ๋ก ์ง๊ด์ ์ผ๋ก ํ ์ ์์ง๋ง, ํด์ฌ๋งต๊ณผ ๊ด๋ จ ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์๋๋ฉด์์ ๋ ํจ์จ์ ์ธ ์ฝ๋๋ฅผ ์งค ์ ์๋ค.