๋ฐฑ์ค€

[๋ฐฑ์ค€-Python] ์ˆซ์ž์นด๋“œ : 10815๋ฒˆ

Yuuuki 2024. 8. 3. 14:59

๐ŸฅˆSilver 5

 

https://www.acmicpc.net/problem/10815

 

 

โœ… 1์ฐจ ํ’€์ด

import sys
input=sys.stdin.readline

answer=''

n=int(input())
having_cards=set(map(int,input().rstrip().split()))

m=int(input())
num_list=list(map(int,input().rstrip().split()))


for num in num_list:
    if num in having_cards:
        answer+='1'
    else:
        answer+='0'

print(' '.join(answer))

input์˜ ๋ฒ”์œ„๊ฐ€ 10^7์œผ๋กœ ์ด๋ถ„ํƒ์ƒ‰์„ ํ•ด์•ผํ•˜๋‚˜ ํ–ˆ์ง€๋งŒ, ์ผ๋‹จ ํ•œ๋ฒˆ ์ •์งํ•˜๊ฒŒ ํ’€์–ด๋ณด์•˜๋‹ค.

์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์นด๋“œ๊ฐ€ ์ค‘๋ณต์ด ์žˆ์„์ˆ˜๋„ ์žˆ๊ณ , num_list์— ์ˆซ์ž๊ฐ€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์—, set์„ ์‚ฌ์šฉํ•ด์„œ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด์„œ ๋‹จ์ˆœํ•˜๊ฒŒ in์—ฐ์‚ฐ์ž๋กœ ํ™•์ธํ•˜๋Š” ์ž‘์—…์œผ๋กœ, ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‹ต์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

๋ฉ”๋ชจ๋ฆฌ ์‹œ๊ฐ„
121544KB 5336ms

 

์—ฌํƒœ ๋ฐฑ์ค€ ๋ฌธ์ œ ํ’€๋ฉด์„œ, ๋ณธ ์ˆ˜์น˜ ์ค‘ ๊ฐ€์žฅ ๋†’๊ฒŒ ๋‚˜์˜จ๊ฒƒ ๊ฐ™๋‹ค.....  

 

โœจ join์ด O(n) ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์—, printe(1, end=' ')๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

 

๋ฉ”๋ชจ๋ฆฌ ์‹œ๊ฐ„
125620 612ms

 

 

โœ… ์ด๋ถ„ ํƒ์ƒ‰ ํ’€์ด

import sys
input=sys.stdin.readline

def binary_search(arr,target):
    left=0
    right=len(arr)-1

    while left<=right:
        mid=(left+right)//2

        if arr[mid]==target:
            return True
        elif arr[mid]<target:
            left=mid+1
        else:
            right=mid-1
    return False

answer=''

n=int(input())
having_cards=sorted(map(int,input().rstrip().split()))

m=int(input())
num_list=list(map(int,input().rstrip().split()))


for num in num_list:
    if binary_search(having_cards,num):
        print(1, end=' ')
    else:
        print(0, end=' ')
๋ฉ”๋ชจ๋ฆฌ ์‹œ๊ฐ„
108244KB 1756ms