일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 구현
- 깊이 우선 탐색
- 그래프 이론
- 파이썬
- 그래프 탐색
- 수학
- npm start
- Python
- 너비 우선 탐색
- Docker 원리
- 최장공통부분문자열
- bfs
- 그래프탐색
- 다이나믹 프로그래밍
- Container vs VM
- 문자열
- 배낭 문제
- 일단 시도
- db replication
- dfs
- 클래스
- 동적 계획법
- LCS 알고리즘
- error:0308010C:digital envelope routines::unsupported
- lazy evaluation
- 냅색 알고리즘
- 나는 바보야...
- 정처기 필기
- 모듈러 연산 분배법칙
- 최장공통부분수열
Archives
- Today
- Total
Save my data
백준 10815 : 숫자 카드 (파이썬) 본문
기초적인 이분 탐색 문제였다.
이분 탐색은 리스트가 정렬되어 있을 때 사용할 수 있는 탐색의 한 종류이다.
import sys
sys.stdin = open("10815.txt", 'r')
N = int(sys.stdin.readline())
n = [*map(int, sys.stdin.readline().split())]
M = int(sys.stdin.readline())
m = [*map(int, sys.stdin.readline().split())]
n.sort()
for i in m:
start = 0
end = N - 1
mid = (start + end) // 2
while start <= end:
if i == n[mid]:
print(1)
break
if i < n[mid]:
end = mid - 1
if i > n[mid]:
start = mid + 1
mid = (start + end) // 2
else:
print(0)
※ 제출 후 나중에 리뷰하기 쉽게 한글로 수정하였음
import sys
sys.stdin = open("10815.txt", 'r')
카드의수 = int(sys.stdin.readline())
카드들 = [*map(int, sys.stdin.readline().split())]
새로받을카드의수 = int(sys.stdin.readline())
새로받은카드들 = [*map(int, sys.stdin.readline().split())]
카드들.sort()
for 어떤카드 in 새로받은카드들:
시작 = 0
끝 = 카드의수 - 1
중간점 = (시작 + 끝) // 2
while 시작 <= 끝:
if 어떤카드 == 카드들[중간점]:
print(1)
break
if 어떤카드 < 카드들[중간점]:
끝점 = 중간점 - 1
if 어떤카드 > 카드들[중간점]:
시작점 = 중간점 + 1
중간점 = (시작점 + 끝점) // 2
else:
print(0)
다른 사람의 코드를 보았는데 훨씬 짧은 코드가 있어서 가져와봤다.
해쉬를 이용한 방법인데 누군가 실제로 구현해놓았다.
# 이렇게 해도 정답이 나온다.
n = int(input())
n1 = set(map(int,input().split()))
m = int(input())
m1 = list(map(int,input().split()))
k = []
for i in m1:
if i in n1:
k.append(1)
else:
k.append(0)
print(*k)
'알고리즘 > 백준' 카테고리의 다른 글
백준 10811 : 바구니 뒤집기 (파이썬) (0) | 2023.02.27 |
---|---|
백준 9251 : LCS (파이썬) (0) | 2023.02.24 |
백준 11052 : 카드 구매하기 (파이썬) (0) | 2023.02.24 |
백준 12865 : 평범한 배낭 (파이썬) (1) | 2023.02.23 |
백준 1904 : 01타일 (파이썬) (0) | 2023.02.20 |
Comments