백준 2891번 카약과 강풍

이호영·2021년 10월 26일
0

백준

목록 보기
1/3

백준 2891번

N,S,R = map(int,input().split())
dmg = list(map(int,input().split()))
spare = list(map(int,input().split()))
dmg_copy = dmg.copy()

for idx in range(len(dmg)):
    if dmg[idx] in spare:
        spare.remove(dmg[idx])
        dmg_copy.remove(dmg[idx])

dmg = dmg_copy.copy()

for idx in range(len(dmg)):
    if dmg[idx] - 1 in spare: 
        spare.remove(dmg[idx]-1)
        dmg_copy.remove(dmg[idx])
    elif dmg[idx] + 1 in spare:
        spare.remove(dmg[idx]+1)
        dmg_copy.remove(dmg[idx])

print(len(dmg_copy))

Greedy는 많이 풀어보기도 했고 실버5 문제라서 얕잡아 봤다가 큰 코 다쳤다.
문제를 제대로 안 읽어봐서 자기 자신이 가진 여분을 가장 먼저 처리해줘야하는 것을 간과하였다.
방법은 다른 분들의 풀이와 크게 다른 것은 없는 것 같아서 이 정도만 남긴다.

profile
Speech Synthesis & Voice Cloning

0개의 댓글