본문 바로가기
python-algorithm

백준 16471 작은 수 내기

by 무적김두칠 2021. 8. 26.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import sys
n=int(sys.stdin.readline())
tmp1=sorted(list(map(int, sys.stdin.readline().split())))
tmp2=sorted(list(map(int, sys.stdin.readline().split())))
tmp1.reverse()
cnt=0
for i in tmp1:
  if i>=tmp2[-1]:
    pass
  else:
    cnt+=1
    tmp2.pop()
if cnt> n//2print("YES")
elseprint("NO")
cs

우선 카드를 정렬을 하구
주언이 가지고있는 카드중 제일큰 카드가 사장이 가지고있는 카드 중 제일 큰 카드보다 커버리면 뭘 내도 짐
2 1 3 5 6 -> 6 5 3 2 1
1 1 3 2 5 -> 1 1 2 3 5
첫번째 예제를 보면
6,5는 뭘내도 지거나 비김 즉 필요없음
주언의 3은 사장의 5랑 붙으면 이김  Line 12에서 5를 pop해서 날림
그럼 주언의 2는 사장의 3이랑 붙으면 이김 3을 pop 해서 날림
마지막 주언의 1은 사장의 2랑 붙으면 이김 2를  pop해서 날리고
Line 11 에서 그 갯수를 카운팅함

반응형

'python-algorithm' 카테고리의 다른 글

백준 3135 라디오  (0) 2021.08.30
백준 22993 서든어택 3  (0) 2021.08.26
백준 16435 스네이크버드  (0) 2021.08.26
백준 14469 소가 길을 건너간 이유 3  (0) 2021.08.26
백준 11256 사탕  (0) 2021.08.26

댓글