๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๐Ÿ’ก/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

ํƒ์š•๋ฒ•(Greedy) ์ฒด์œก๋ณต

by @ENFJ 2024. 8. 31.

ํƒ์š•๋ฒ•(Greedy) ์ฒด์œก๋ณต

 

 
def solution(n, lost, reserve):

 # reserve์™€ lost์— ๋™์‹œ์— ์žˆ๋Š” ํ•™์ƒ์€ ๋จผ์ € ์ œ๊ฑฐ (์ž๊ธฐ ์ž์‹ ์„ ๋นŒ๋ ค ์ž…๊ธฐ)
    lost_set = set(lost) - set(reserve)
    reserve_set = set(reserve) - set(lost)
    
    # ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฒด์œก๋ณต์„ ๊ฐ€์ง„ ํ•™์ƒ ์ˆ˜
    answer = n - len(lost_set)
    
    for i in reserve_set:
        if (i - 1) in lost_set :
            answer += 1
            lost_set.remove(i - 1)
        elif (i + 1) in lost_set :
            answer += 1
            lost_set.remove(i + 1)
        
    return answer;