[백준] 10815. 숫자 카드 (Python)

yuuforest·2023년 9월 11일

이진탐색

목록 보기
2/9
post-thumbnail

백준 문제 풀이 - 이진탐색

📰 문제


문제 확인 🏃


💡 입출력 예제


5
6 3 2 10 -10
8
10 9 -5 2 3 4 5 -10

>> 1 0 0 1 1 0 0 1

💬 풀이


🎵 첫번째 풀이 - 이진탐색

import sys

input = sys.stdin.readline

N = int(input())
cards = list(map(int, input().split()))
M = int(input())
numbers = list(map(int, input().split()))

def solution():
    for n in numbers:
        print(binary(n), end = " ")

def binary(target):
    
    start = 0
    end = len(cards) - 1

    while start <= end:
        mid = (start + end) // 2

        if cards[mid] == target:
            return 1
        elif cards[mid] < target:
            start = mid + 1
        else:
            end = mid - 1

    return 0

cards.sort()
solution()

🎵 두번째 풀이 - set

import sys

input = sys.stdin.readline

N = int(input())
cards = set(map(int, input().split()))
M = int(input())
numbers = list(map(int, input().split()))

def solution(target):
    if target in cards:
        return 1
    else:
        return 0
    
for n in numbers:
    print(solution(n), end= " ")


✒️ 생각


profile
🐥 Backend Developer 🐥

0개의 댓글