Programmers : ์ฒด์œก๋ณต

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

๐Ÿ”’ 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์—์„œ ๋‚จ์€ ์ˆ˜๋ฅผ ๋บ€๋‹ค.

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ