본 자료와 관련 영상 컨텐츠는 저작권법 제25조 2항에 의해 보호를 받습니다. 본 컨텐츠 및 컨텐츠 일부 문구 등을 외부에 공개하거나, 요약해서 게시하지 말아주세요.
<a href='www.fun-coding.org'>잔재미코딩(www.fun-coding.org) Dave Lee</a>
본 문제는 각 자료구조/알고리즘을 보다 실전 문제와 연결하여 연습함으로써, 해당 자료구조/알고리즘 이해도와 숙련도를 높이기 위함입니다. 따라서, 해당 문제에서 나오는 핵심 컨셉의 구현에만 초점을 맞춤니다.
실제로 다음과 같이 작성하면, 시간 제한에 걸립니다.
N = int(input())N_list = list(map(int, input().split())M = int(input())M_list = list(map(int, input().split())
# 여러 차례 테스트를 위해, input 구문으로 직접 입력을 받지 않고, 그대로 실제 테스트 예제 입력을 변수로 넣었습니다.N = 5N_list = [4, 1, 5, 2, 3]M = 5M_list = [1, 3, 7, 9, 5]
for item in M_list: if item in N_list: print(1) else: print(0)
1
1
0
0
1
이진 탐색 알고리즘 기반 코드 개선
# 여러 차례 테스트를 위해, input 구문으로 직접 입력을 받지 않고, 그대로 실제 테스트 예제 입력을 변수로 넣었습니다.N = 5N_list = [4, 1, 5, 2, 3]M = 5M_list = [1, 3, 7, 9, 5]
N_list.sort()def binary_search(data, search): if len(data) == 0: return 0 elif len(data) == 1: if data[0] == search: return 1 else: return 0 medium = len(data) // 2 if search == data[medium]: return 1 else: if search > data[medium]: return binary_search(data[medium+1:], search) else: return binary_search(data[:medium], search)for item in M_list: print(binary_search(N_list, item))
1
0
0
0
1
본 자료와 관련 영상 컨텐츠는 저작권법 제25조 2항에 의해 보호를 받습니다. 본 컨텐츠 및 컨텐츠 일부 문구 등을 외부에 공개하거나, 요약해서 게시하지 말아주세요.
<a href='www.fun-coding.org'>잔재미코딩(www.fun-coding.org) Dave Lee</a>