백준 7795 먹을 것인가 먹힐 것인가 풀이 ( 파이썬 )
https://www.acmicpc.net/problem/7795
처음에는 아래 코드처럼 큰 걸 발견했을 때 cnt를 증가시키도록 했지만 시간초과가 떴다.
import sys
input = sys.stdin.readline
t = int(input())
while t:
cnt = 0
n, m = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
for i in A:
for j in B:
if i > j:
cnt+=1
print(cnt)
t-=1
그래서 정렬을 한 후 이분탐색으로 풀었다.
import sys
import bisect
input = sys.stdin.readline
t = int(input())
while t:
cnt = 0
n, m = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
A.sort()
B.sort()
for i in A:
cnt += bisect.bisect_left(B, i)
print(cnt)
t-=1
[ baekjoon ] 구간 합 구하기 4 11659번 ( python ) (0) | 2021.10.04 |
---|---|
[ baekjoon ] ㄷㄷㄷㅈ 19535번 ( python ) (0) | 2021.08.15 |
[ baekjoon ] 맥주 마시면서 걸어가기 9205번 ( python ) (0) | 2021.07.30 |
[ baekjoon ] 가스관 2931번 ( python ) (0) | 2021.07.29 |
[ baekjoon ] 음악프로그램 2623번 ( python ) (0) | 2021.07.14 |