๋ฌธ์ ์ค๋ช
: ์ ์ฒด ํ์์ ์ n, ์ฒด์ก๋ณต์ ๋๋๋นํ ํ์๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ๋ฐฐ์ด lost, ์ฌ๋ฒ์ ์ฒด์ก๋ณต์ ๊ฐ์ ธ์จ ํ์๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ๋ฐฐ์ด reserve๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ฒด์ก์์ ์ ๋ค์ ์ ์๋ ํ์์ ์ต๋๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑ
๋ฌธ์ ํ์ด
- set์ ํตํด reserve ์ lost ์ ์ฐจ์งํฉ์ ๊ตฌํ๋ค
- reserve ์์ lost์ ๊ฒน์น์ง ์๋ ๊ฒ์ ๋น๊ตํ๋๋ฐ
- ๋ฐ๋ก ์ ๋ฒํธ์ ํ์์ด๋ ๋ฐ๋ก ๋ท ๋ฒํธ์ ํ์์๊ฒ๋ง ์ฒด์ก๋ณต์ ๋น๋ ค์ค ์ ์๊ธฐ ๋๋ฌธ์
- ์๋ฒํธ๋ ๋ท๋ฒํธ์ ์ฒด์ก๋ณต์ ์์ด๋ฒผ๋ ์ผ๋ฉด ๋น๋ ค์ค ํ์์๋ฅผ ์ฌ๋ฆฌ๊ณ ์์ด๋ฒ๋ฆฐ ํญ๋ชฉ์์ ํด๋น ํ์์ ์ง์์ค๋ค
- ๋ชจ๋ ํ์์ด ์ฒด์ก๋ณต์ ๋น๋ฆด ์ ์์ผ๋ฉด ์ ์ฒด ํ์์ n์ ์ถ๋ ฅํ๊ณ
- ์๋๋ฉด ๋น๋ฆด ์ ์๋ ํ์ ์์ ์ต๋ ํ์ ์๋ฅผ ์ถ๋ ฅ.
def solution(n, lost, reserve):
set_reserve = set(reserve) - set(lost)
set_lost = set(lost) - set(reserve)
for i in set_reserve :
if i-1 in set_lost :
set_lost.remove(i-1)
elif i+1 in set_lost :
set_lost.remove(i+1)
return n - len(set_lost)
# ๋ค๋ฅธ์ฌ๋ ํ์ด
- ์ฒ์ _reserve์ _lost๋ฐฐ์ด์ ๋ง๋ค๋ฉด์ ์ค๋ณต์ ์ ๊ฑฐ
- ์ ํ์ฌํญ์ not in ์ผ๋ก ์ฒ๋ฆฌ
- ์ฌ๋ฒ์ท์ ๊ฐ์ง ํ์๋ค์ ๋ฐฐ์ด ์์๋ฅผ ํ๋์ฉ ๋ฝ์์ ์ผ์ชฝ์ด๋ ์ค๋ฅธ์ชฝ์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ์ด๋ํ์ ๋, ์ท์ 0๊ฐ ๊ฐ์ง ๋ฐฐ์ด์ ํด๋น ์ธ๋ฑ์ค๊ฐ ์กด์ฌํ๋ฉด ๋น๋ ค์ฃผ๋ ์์ผ๋ก for ๋ฌธ์ ๋๋ฉฐ forward, back ํ remove
- ๊ฒฐ๊ตญ _lost์๋ ์ ๋ค๋ก ์ท์ ๋น๋ฆฌ์ง ๋ชปํ ํ์๋ง ๋ฐฐ์ด์ ๋จ๊ฒ ๋๊ณ ํ์ ์์์ ๊ทธ ๊ธธ์ด๋ฅผ ๋นผ์ ๋ต์ ๊ตฌํจ
def solution(n, lost, reserve):
_reserve = [r for r in reserve if r not in lost]
_lost = [l for l in lost if l not in reserve]
for r in _reserve:
f = r - 1
b = r + 1
if f in _lost:
_lost.remove(f)
elif b in _lost:
_lost.remove(b)
return n - len(_lost)
https://programmers.co.kr/learn/courses/30/lessons/42862
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฒด์ก๋ณต
์ ์ฌ์๊ฐ์ ๋๋์ด ๋ค์ด, ์ผ๋ถ ํ์์ด ์ฒด์ก๋ณต์ ๋๋๋นํ์ต๋๋ค. ๋คํํ ์ฌ๋ฒ ์ฒด์ก๋ณต์ด ์๋ ํ์์ด ์ด๋ค์๊ฒ ์ฒด์ก๋ณต์ ๋น๋ ค์ฃผ๋ ค ํฉ๋๋ค. ํ์๋ค์ ๋ฒํธ๋ ์ฒด๊ฒฉ ์์ผ๋ก ๋งค๊ฒจ์ ธ ์์ด, ๋ฐ๋ก ์๋ฒ
programmers.co.kr
'๐ค ์ฝ๋ฉํ ์คํธ ์ค๋น > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
#ํ๋ก๊ทธ๋๋จธ์ค ํ์ด์ฌ Lv.1 #์คํจ์จ (0) | 2021.11.10 |
---|---|
#ํ๋ก๊ทธ๋๋จธ์ค ํ์ด์ฌ Lv.1 #ํฐ์ผ๋ชฌ (0) | 2021.11.10 |
#ํ๋ก๊ทธ๋๋จธ์ค ํ์ด์ฌ Lv.1 #๋ชจ์๊ณ ์ฌ (0) | 2021.11.10 |
#ํ๋ก๊ทธ๋๋จธ์ค ํ์ด์ฌ Lv.1 #ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ (0) | 2021.11.10 |
#ํ๋ก๊ทธ๋๋จธ์ค ํ์ด์ฌ Lv.1 #K๋ฒ์งธ์ (0) | 2021.11.09 |