• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

이렇게 풀어도 돼나요?

23.09.14 18:00 작성 조회수 179

0

안녕하세요 강사님. 수업 너무 잘 듣고 있습니다.

궁금한게 있어 질문 드립니다.

제가 딕셔너리를 이용해서 아래와 같이 풀었는데 강사님 코드를 보니 너무 깔끔하더라구요.

"

from collections import defaultdict

def solution(nums, target):

answer = [0]*2

dicts = defaultdict(int)

for i in nums:

dicts[i]=target-i

for i in dicts:

if i in nums and dicts[i] in nums and i!=dicts[i]:

return [min(i,dicts[i]),max(i,dicts[i])]

return answer

"

이렇게 IF문 안에 여러 조건들을 넣어서 풀어도 시간 복잡도가 O(N^2)이 안되고 O(N)이 될까요??

 

답변 1

답변을 작성해보세요.

0

안녕하세요^^

파이썬은 들여쓰기가 되어 있지 않으면 코드를 정확하게 분석하기가 힘듭니다.

위에 코드를 보자면 for 반복문이 중첩되니 않은 것 같습니다. 그러면 O(n)으로 보여집니다.