[Python] 백준 #1920- 수 찾기

2023. 9. 25. 23:48·코딩테스트/백준[Python]

문제


 

 

1920번: 수 찾기

첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들

www.acmicpc.net

코드


My answer

import sys
input = sys.stdin.readline

n = int(input())
n_list = sorted(list(map(int, input().split())))
m = int(input())
m_list = list(map(int, input().split()))

def binary_search(start, end, target):
    if (start > end):
        return 0
    mid = (start+end)//2
    if (n_list[mid] == target):
        return 1
    elif (n_list[mid] > target):
        return binary_search(start, mid-1, target)
    else:
        return binary_search(mid+1, end, target)

for i in m_list:
    print(binary_search(0, len(n_list)-1, i))

Another answer

# 입력
N = int(input())
A = set(map(int, input().split()))	# 탐색 시간을 줄이기 위해 set으로 받음
M = int(input())
arr = list(map(int, input().split()))

for num in arr:				# arr의 각 원소별로 탐색
    print(1) if num in A else print(0)	# num이 A 안에 있으면 1, 없으면 0 출력

풀이


나는 단순하게, 이분탐색으로 구현하여 문제를 해결했다. 중요한 점은 반드시 이분탐색을 하기 위해서는 리스트를 정렬해야한다는 것이다. 

another answer은 탐색대상이 되는 리스트를 set으로 만들고 in을 이용하여 해결하였다. in은 자료형에 따라 시간이 다르기 때문에 문제에 따라 유용하게 사용할 수 있을 것 같다. 

 

728x90

'코딩테스트 > 백준[Python]' 카테고리의 다른 글

[Python] 백준 #1568- 새  (0) 2023.09.26
[Python] 백준 #1427- 소트인사이드  (0) 2023.09.26
[Python] 백준 #18352 - 특정 거리의 도시 찾기  (1) 2023.09.24
[Python] 백준 #1759- 암호 만들기  (0) 2023.09.23
[Python] 백준 #9465- 스티커  (0) 2023.09.21
'코딩테스트/백준[Python]' 카테고리의 다른 글
  • [Python] 백준 #1568- 새
  • [Python] 백준 #1427- 소트인사이드
  • [Python] 백준 #18352 - 특정 거리의 도시 찾기
  • [Python] 백준 #1759- 암호 만들기
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (471)
      • 알쓸신잡 (79)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    이분탐색
    백준
    dp
    파이썬
    이것이취업을위한코딩테스트다
    그리디
    이코테
    BFS
    나동빈
    DFS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3

HOME

HOME

상단으로

티스토리툴바