ornni 2024. 5. 21. 10:00
728x90
반응형

첫번째 코드

 

이진탐색을 이용하자!!!

정렬에서 어떤 함수를 사용하는게 좋을지...

그리고 이진탐색의 전체적인 구성을 어떻게 하는 것이 좋을지에 대해서 책을 보면서 작성했다.

꽤 해보면 금방 따라할 수 있을 듯한 느낌의 주제!

 

import sys
input = sys.stdin.readline

n = int(input())
n_number = list(map(int, input().split()))
n_number.sort()

m = int(input())
m_number = list(map(int, input().split()))

for target in m_number:
    find = False
    start = 0
    end = n-1
    while start <= end:
        median = int((start + end)/2)
        median_number = n_number[median]
        if median_number > target:
            end = median -1
        elif median_number < target:
            start = median + 1
        else:
            find = True
            break

    if find:
        print(1)
    else:
        print(0)

 

통과!


링크

https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80/Silver/1920.%E2%80%85%EC%88%98%E2%80%85%EC%B0%BE%EA%B8%B0

 

programmers/백준/Silver/1920. 수 찾기 at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형