https://school.programmers.co.kr/learn/courses/30/lessons/161989#
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
python
def solution(n, m, section):
answer = 0
idx = 0
while idx <= n:
if idx in section:
answer += 1
idx += m
else:
idx += 1
return answer
์ฒ์์ ์ฝ๋๋ฅผ ์ด๋ ๊ฒ ์งฐ๋๋ 2๊ฐ์ ํ ์ผ์์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ๋ค.
๊ทธ๋์ ์๋ ์ฝ๋๋ก ์์ ํ์๋ค.
def solution(n, m, section):
answer = 0
cur = 1 # ํ์ฌ ์์น
idx = 0
while idx < len(section):
if cur <= section[idx]:
cur = section[idx]
answer += 1
cur += m
idx += 1
return answer
1๋ฒ๋ถํฐ n๋ฒ์งธ ์น์ ๊น์ง ์์๋๋ก ๋๊ธฐ๋ก ํ๋ค.
ํ์ฌ ์์น์์ ํ์ธํธ๋ฅผ ์น ํ์ง ์์๋ ๋๋ค๋ฉด, ํ์ธํธ๋ฅผ ์น ํด์ผํ๋ ๊ฐ์ฅ ๊ฐ๊น์ด ์์ญ์ผ๋ก ์ด๋ํด์ ํ์ธํธ์น ์ ํ๋ค.
๋จ์๊ตฌํ ๋ฌธ์ ์ธ๋ฐ ์ธ๋ฑ์ฑํ๋๊ฒ ๋๋ฌด ํท๊ฐ๋ ค์ ์ฝ๊ฐ ๊ณ ์ํ๋ค. ใ ใ ใ ๋ ๋ฐ๋ณด...
๋ค๋ฅธ ๋ถ๋ค ํ์ด๋ฅผ ๋ณด๋๊น, ๋ฆฌ์คํธ ์๋ฃํ์ด ์๊ฐ๋ณต์ก๋๊ฐ ์ ์ข์์์ธ์ง
deque๋ set ๋ฑ์ผ๋ก ๋ฌธ์ ๋ฅผ ํผ ๋ถ๋ค์ด ๋ง์๋ค.
๋ด๊ฐ ์ฒซ ๋ฒ์งธ๋ก ์ ์ถํ๋ ์ฝ๋๋ ๋ฆฌ์คํธ ๋ง๊ณ set์ผ๋ก ํ๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋์ง ์์๋ค.
def solution(n, m, section):
section = set(section) ### ์์
answer = 0
idx = 0
while idx <= n:
if idx in section:
answer += 1
idx += m
else:
idx += 1
return answer
์ด๋ ๊ฒ ๋ ๋ฒ์งธ ๋ผ์ธ๋ง ์ถ๊ฐํด์ฃผ๋ ์ ๋ตํ์ ์ ๋ฐ์ ์ ์์๋ค!
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > Greedy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ตฌ๋ช ๋ณดํธ (0) | 2023.07.05 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค]์ฒด์ก๋ณต (0) | 2023.05.24 |
[๋ฐฑ์ค]2839๋ฒ: ์คํ ๋ฐฐ๋ฌ (0) | 2023.05.06 |
[์ด์ฝํ ] ๋ง๋ค ์ ์๋ ๊ธ์ก (0) | 2023.03.26 |
[์ด์ฝํ ] ๋ณผ๋ง๊ณต ๊ณ ๋ฅด๊ธฐ (0) | 2023.03.25 |