about set() in python #12
-
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
return len(set(nums)) != len(nums)
# seen = set()
# for i in nums: ## O(n)
# if i in seen: ## O(1)
# return True
# else:
# seen.add(i)
# return False 처음문제부터 다시 풀고있는데요, 아래가 제가 예전에 풀었던 방식이고 오늘 다시 풀면서 위의 방식으로 바꿔보았습니다. set 에 대해서 좀 찾아보았는데 어차피 파이썬 컴파일러 내부에서도 딕셔너리 형태로 처리하는거 같아서 큰 차이가 없다고 생각은 되는데, 경험 많으신 분들의 의견이 궁금합니다! 최대한 요상하고 괴상한 답변은 지양하고 싶습니다..ㅋㅋ 리트코드에 파이토니언 언급하면서 괴상한 답변들이 워낙 많아서.. 추가로 만약에 인터뷰에서 질문을 받는다면 개인적으로는 두 방법 다 제시하고 설명하는게 맞는거 같은데 인터뷰어 경험이 있으신 분이 계시다면 어떻게 생각하시는지도 알려주시면 감사하겠습니다! |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 5 replies
-
@leokim0922 코드 좀 더 보기 편하시라고 코드 스니핏 위에 |
Beta Was this translation helpful? Give feedback.
-
이렇게 푸시는 것도 저는 나쁘다고 생각하지 않습니다. 저는 지원자가 요렇게 한 줄로 풀면, 너무 쉬운 문제를 드렸구나 하고 난이도를 높여서 한 문제를 더 드립니다. 그거까지 푸시면 그냥 hire가 strong hire를 드리죠 💯 |
Beta Was this translation helpful? Give feedback.
-
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
my_dict = {}
for num in nums:
if num in my_dict:
return True
my_dict[num] = 0
return False 저는 이렇게 풀었는데 비슷한 의문 생겼었습니다! 혹시 코드 파이썬 형식으로 만드려면 어떻게 하나용? |
Beta Was this translation helpful? Give feedback.
이렇게 푸시는 것도 저는 나쁘다고 생각하지 않습니다. 저는 지원자가 요렇게 한 줄로 풀면, 너무 쉬운 문제를 드렸구나 하고 난이도를 높여서 한 문제를 더 드립니다. 그거까지 푸시면 그냥 hire가 strong hire를 드리죠 💯