하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능
[3코1파] 2023.01.04~ (140일차)
[4코1파] 2023.01.13~ (131일차)
[1스4코1파] 2023.04.12~ (42일차)
[1스4코2파] 2023.05.03 ~ (21일차)
2023.05.23 [140일차]
LeetCode
1. Two Sum
https://leetcode.com/problems/two-sum/
문제 설명
문제 풀이 방법
이중포문으로 돌릴 순 있지만 그러면 시간복잡도가 O(N2)이셔요.
예전에 프로그래머스에서 풀었던 비슷한 문제에서 발견했던 솔루션을 기반으로 풀기 완
nums를 순차적으로 돌면서 target과의 값을 빼서 인덱스와 함께 tmp 딕셔너리에 저장하고, nums가 tmp 딕셔너리에 있는 값에 있다면 그 키값에 해당하는 value가 현재 nums와 합해서 target값이 되는 요소의 인덱스이므로, 그 인덱스와 현재 인덱스를 return 완!
내 코드
class Solution:
def twoSum(self, nums, target: int):
tmp = {}
for i in range(len(nums)):
if nums[i] in tmp:
return [tmp[nums[i]], i]
tmp[target-nums[i]]=i
return answer
증빙
여담
알고리즘 dp 나오고 bit 문제나와서 도망쳤더니
알고리즘 12에서 닫혀서 다시 시작해야하는게 함정