본문 바로가기
Coding Test/LeetCode

[LeetCode] 1. Two Sum [Python(파이썬), JAVA(자바)]

'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀
문제 👉 <Two Sum - LeetCode>

1. 문제 (두 수의 합)

덧셈하여 타겟을 만들 수 있는 배열의 두 숫자 인덱스를 리턴하라.

2. 풀이

  • 해시를 이용한 풀이

3. 코드 (Python)

  • 해시를 이용한 풀이
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        dic = {}

        for idx, val in enumerate(nums):
            num = target - val

            if num in dic:
                return [dic[num], idx]
            else:
                dic[val] = idx
  • 결과 :
방식 Status Runtime Memory Language
해시 [Accepted] 60 ms 15.2 MB python3

4. 코드 (JAVA)

  • 해시를 이용한 풀이
class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] ret = new int[2];
        Map<Integer, Integer> map = new HashMap<>();

        for (int i=0; i<nums.length; i++) {
            if (map.containsKey(target - nums[i])) {
                ret[0] = map.get(target - nums[i]);
                ret[1] = i;
                  break;
            } else {
                map.put(nums[i], i);
            }
        }

        return ret;
    }
}
  • 결과 :
방식 Status Runtime Memory Language
해시 [Accepted] 3 ms 39.3 MB java


References


🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

댓글