인프런 커뮤니티 질문&답변

승환 김님의 프로필 이미지
승환 김

작성한 질문수

입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]

이렇게 풀어도 돼나요?

작성

·

220

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)으로 보여집니다.

승환 김님의 프로필 이미지
승환 김

작성한 질문수

질문하기