Algorithm(알고리즘)/백준
04. 첫번째로 중복되는 항목 찾기 1
고로케
2021. 5. 22. 00:31
반응형
04. 첫번째로 중복되는 항목 찾기 1
처음으로 중복되는 순간 숫자를 리턴해준다.
# 시간 복잡도 O(n)
1) 리스트 list 이용
def find_same_number(some_list):
# 이미 나온 요소를 저장시켜줄 리스트
elements_seen_so_far = []
for element in some_list:
# 이미 나온 요소인지 확인하고 맞으면 요소를 리턴한다
if element in elements_seen_so_far:
return element
# 해당 요소를 리스트에 저장시킨다
elements_seen_so_far.append(element)
# 테스트
print(find_same_number([1, 4, 3, 5, 3, 2]))
print(find_same_number([4, 1, 5, 2, 3, 5]))
print(find_same_number([5, 2, 3, 4, 1, 6, 7, 8, 9, 3]))
결과
3
5
3
2) 사전dictionary 이용
def find_same_number(some_list):
# 이미 나온 요소를 저장시켜줄 사전
elements_seen_so_far = {}
for element in some_list:
# 이미 나온 요소인지 확인하고 맞으면 요소를 리턴한다
if element in elements_seen_so_far:
return element
# 해당 요소를 사전에 저장시킨다
elements_seen_so_far[element] = True
# 테스트
print(find_same_number([1, 4, 3, 5, 3, 2]))
print(find_same_number([4, 1, 5, 2, 3, 5]))
print(find_same_number([5, 2, 3, 4, 1, 6, 7, 8, 9, 3]))
결과
3
5
3
반응형