๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

https://programmers.co.kr/learn/courses/30/lessons/42862

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ฒด์œก๋ณต

์ ์‹ฌ์‹œ๊ฐ„์— ๋„๋‘‘์ด ๋“ค์–ด, ์ผ๋ถ€ ํ•™์ƒ์ด ์ฒด์œก๋ณต์„ ๋„๋‚œ๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ ์—ฌ๋ฒŒ ์ฒด์œก๋ณต์ด ์žˆ๋Š” ํ•™์ƒ์ด ์ด๋“ค์—๊ฒŒ ์ฒด์œก๋ณต์„ ๋นŒ๋ ค์ฃผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ํ•™์ƒ๋“ค์˜ ๋ฒˆํ˜ธ๋Š” ์ฒด๊ฒฉ ์ˆœ์œผ๋กœ ๋งค๊ฒจ์ ธ ์žˆ์–ด, ๋ฐ”๋กœ ์•ž๋ฒˆ

programmers.co.kr

 

def solution(n, lost, reserve):
    lost = set(lost)
    reserve = set(reserve)
    common = lost & reserve
    
    lost = list(lost-common)
    reserve = list(reserve-common)
    
    for i in reserve:
        if i-1 in lost:
            lost.remove(i-1)
        elif i+1 in lost:
            lost.remove(i+1)
    return n-len(lost)

 

1์‹œ๊ฐ„์— ๊ฑธ์ณ ์™„๋ฒฝํžˆ ์ดํ•ด๋ฅผ ํ–ˆ๋‹ค.

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค€๋น„ํ•˜๋Š” ์ทจ์ค€์ƒ ๋Œ€๋น„ ํƒ€๊ณ ๋‚˜์ง€ ๋ชปํ•œ ์‹ค๋ ฅ, ๋‹ค๋ฅธ ๊ธธ๋กœ ์ทจ๋ฝ€๋ฅผ ํ•ด์•ผํ•˜๋‚˜ ์˜์‹ฌ์ด ๋“œ๋Š” ๋ฌธ์ œ์˜€๋‹ค.

๋ฐ˜์‘ํ˜•