target으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 가정하겠습니다.
def two_sum(nums, target):
dictionary = {}
for num in range(len(nums)):
number = target - nums[num]
dictionary[number] = num
if number in dictionary:
return [dictionary[number], nums.index(number)]
for 문을 두번쓰게 되면 쉽게 풀리는 문제이긴 하지만,
그렇게 되면 시간복잡도가 O(N^2)이 되기 때문에
dictionary를 이용해서 풀이를 진행
첫 코드카타 문제였는데, 20분 제한시간내에 못풀어서 오늘 다시 풀어봄...
저 인텍스를 이용한다는 생각을 못했다
리턴값이 자꾸 [0,0] 이어서 왜 그러지 하면서 고민햇던 문제
다른 분들은 너무 잘해서 내가 초라해진 느낌이엇다 😂
def reverse(number):
arr = list(str(number))[::-1]
arr = "".join(arr)
if number < 0:
return -int(arr[:-1])
return int(arr)
조금더 간단하게 풀 수 있지 않을까 생각을 했는데,,,
이 이상은 생각이 안난다
마이너스를 이렇게 처리하지 않으면 코드 길이가 늘어나서 바로 리턴을 해주는 방식을 사용했다
무슨 말인지 문제가 이해가 안됨...
def same_reverse(num):
arr = (str(num))
if arr[::-1] == arr:
return True
return False
뒤집어서 확인