Programmers : ์ฒด์ก๋ณต
๐ Programmers : ์ฒด์ก๋ณต
์๋ ์ ํ๋ ค๊ณ ์๋ํ์ ๋๋ ์ด๋ ค์์ ํ๊ธฐ ๊บผ๋ คํ๋๋ฐ, ์ง๊ธ ๋ค์๋ณด๋ ํ๊ธฐ ์ฌ์ด ๋ฌธ์ ์๋ค.
ํ์๋ฒ(Greedy)์ด๋ผ๋ ๊ฐ๋ ์ด ์ด๋ ต๊ฒ ๋ค๊ฐ์์ ์์ง๋ ํ์๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํ๊ธฐ ํ๋ค์ดํ์ง๋ง,
๋ถ๋ํ๋ณด๋ ์ค์ด๋ค.
๐ ์ฝ๋
def solution(n, lost, reserve):
lost = set(lost)
reserve = set(reserve)
lost2 = lost - reserve
reserve2 = reserve - lost
for r in reserve2:
if r-1 in lost2:
lost2.remove(r-1)
elif r+1 in lost2:
lost2.remove(r+1)
return n-len(lost2)
๋ฌธ์ ์กฐ๊ฑด ์ค, ์ฒด์ก๋ณต ์ฌ๋ฒ์ ๊ฐ๊ณ ์จ ํ์๋ ๋๋ ๋นํ์ ์ ์๋ค๊ณ ํ์ผ๋,
lost ๋ฐฐ์ด์ ์๋ ์์๊ฐ reserve ๋ฐฐ์ด์ ์กด์ฌํ ์ ์๋ค.
๊ทธ๋ฌ๋ฏ๋ก lost, reserve ๋ฐฐ์ด ๋ ๋ค set ์๋ฃํ์ผ๋ก ๋ฐ๊ฟ
์ฐจ์งํฉ ์ฐ์ฐ์ ํ๋ค. ์ฐจ์งํฉ ์ฐ์ฐ์ ํ๋ฉด ๋ ๋ฐฐ์ด์ ์ค๋ณต๋ ์์๋ฅผ ์์จ ์ ์๋ค.
๋ ๋ฐฐ์ด๊ฐ ์ค๋ณต ์์๋ฅผ ์ง์ด ๋ค, reserve ๋ฐฐ์ด ์์ ๊ธฐ์ค์ผ๋ก ์ ๋ฒํธ์ ๋ท ๋ฒํธ๊ฐ lost ๋ฐฐ์ด ์์ ์กด์ฌํ๋ ์ง ํ์ธํ์ฌ ์ ๊ฑฐํ๋ค.
์ ์ฒด ํ์ ์์์ lost์์ ๋จ์ ์๋ฅผ ๋บ๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ