โ๋ฌธ์
๋ฉ๋ชจ๋ฆฌ: 32412 KB, ์๊ฐ: 40 ms
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ, ์ ๋ ฌ
ํญ์น์ด๋ ํ์ง์ด ์ฌ๊ฐํ๊ฒ ๋์ ์๋ ํ์ดํ ํ์ฌ์ ์๋ฆฌ๊ณต์ด๋ค. ํญ์น์ด๋ ์ธ์ค ์งํ์ฒ ๊ณต์ฌ์์ ๋ฌผ์ด ์๋ค๋ ์์์ ๋ฃ๊ณ ์๋ฆฌ๋ฅผ ํ๋ฌ ๊ฐ๋ค.
ํ์ดํ์์ ๋ฌผ์ด ์๋ ๊ณณ์ ์ ๊ธฐํ๊ฒ๋ ๊ฐ์ฅ ์ผ์ชฝ์์ ์ ์๋งํผ ๋จ์ด์ง ๊ฑฐ๋ฆฌ๋ง ๋ฌผ์ด ์๋ค.
ํญ์น์ด๋ ๊ธธ์ด๊ฐ L์ธ ํ ์ดํ๋ฅผ ๋ฌดํ๊ฐ ๊ฐ์ง๊ณ ์๋ค.
ํญ์น์ด๋ ํ ์ดํ๋ฅผ ์ด์ฉํด์ ๋ฌผ์ ๋ง์ผ๋ ค๊ณ ํ๋ค. ํญ์น์ด๋ ํญ์ ๋ฌผ์ ๋ง์ ๋, ์ ์ด๋ ๊ทธ ์์น์ ์ข์ฐ 0.5๋งํผ ๊ฐ๊ฒฉ์ ์ค์ผ ๋ฌผ์ด ๋ค์๋ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
๋ฌผ์ด ์๋ ๊ณณ์ ์์น์, ํญ์น์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ํ ์ดํ์ ๊ธธ์ด L์ด ์ฃผ์ด์ก์ ๋, ํญ์น์ด๊ฐ ํ์ํ ํ ์ดํ์ ์ต์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ํ ์ดํ๋ฅผ ์๋ฅผ ์ ์๊ณ , ํ ์ดํ๋ฅผ ๊ฒน์ณ์ ๋ถ์ด๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
โ๐ปํ์ด
๋ฌธ์ ์ ๋ณด๋ฉด ์ข์ฐ 0.5๋งํผ ๊ฐ๊ฒฉ์ ์ค์ผ ๋ฌผ์ด ์ ์๋ค๊ณ ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์์ ์์น๋ฅผ ๋ฌผ์ด ์๋ ๊ณณ์ ์ฒซ ๋ถ๋ถ์์ 0.5๋ฅผ ๋บ ๋ถ๋ถ์์ ์์ํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ํ ์ดํ์ ๋ ๋ถ๋ถ์ ์์ ์์น์์ ํ ์ดํ ๊ธธ์ด๋งํผ ๋ํด์ง ๊ณณ์ด๋ค. ์ฆ, ๋ฌผ์ด ์๋ ๊ณณ์ด 1์ด๋ฉด ์์ ์์น๋ 0.5๊ฐ ๋๋ ๊ฒ์ด๊ณ ๋ ์์น๋ 2.5๊ฐ ๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์๋ ๊ณณ์ด ํ์ฌ ํ ์ดํ ๋ฒ์ ์์ ์๋ค๋ฉด ๋์ด๊ฐ๊ณ ๊ทธ๋ ์ง ์๋ค๋ฉด ํ ์ดํ๋ฅผ ํ ๊ฐ ๋ ์ฌ์ฉํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ์์ ์์น์ ๊ธ ์์น๋ฅผ ์ ํ๋ค.
๐ป์ฝ๋
import sys
input = sys.stdin.readline
n, l = map(int, input().split())
lack = list(map(int, input().split()))
lack.sort()
s = lack[0] - 0.5
e = s + l
res = 1
for i in range(n):
if s < lack[i] < e:
continue
else:
res += 1
s = lack[i] - 0.5
e = s + l
print(res)
๐ํ๊ธฐ
๋ฌธ์ ์ฝ๊ณ ์ฒ์์๋ ์ข์ฐ์ 0.5๋งํผ ๊ฐ๊ฒฉ์ด ํ์ํ๋ค๊ณ ํ์ฌ ํ ์ดํ ๊ธธ์ด๊ฐ 2์ผ ๋ ์ฌ์ฉํ ์ ์๋ ๋ถ๋ถ์ 1์ด๋ผ๊ณ ์๊ฐํ๋ค. ๊ทธ๋ฐ๋ฐ ๋ค๋ฅธ ์ฌ๋์ ํ์ด๋ฅผ ์ฐพ์๋ณด๋ ๊ทธ๊ฒ ์๋์๋ค..๋ค๋ฅธ ์ฌ๋ ํ์ด ๋ณด๊ณ ์ฝ๋ ์ ๋ฆฌํ๋ฉด์ ๋ด๊ฐ ๊ทธ๋ฆฐ ๊ทธ๋ฆผ์ ๋ค์ ๋ดค๋๋ฐ ๊ทธ๋ฆผ์ผ๋ก๋ ๋ง๊ฒ ์ดํดํ๋ค.๐ฅฒ
'Coding Test > Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ํฐ ์ ๋ง๋ค๊ธฐ/Python - Lv.2 (0) | 2025.01.27 |
---|---|
[๋ฐฑ์ค] 1753. ์ต๋จ๊ฒฝ๋ก/Python - ๊ณจ๋4 (0) | 2025.01.20 |
[๋ฐฑ์ค] 11399. ATM/Python - Silver4 (2) | 2024.12.20 |
[๋ฐฑ์ค] 1010.๋ค๋ฆฌ ๋๊ธฐ/Python - Silver5 (1) | 2024.12.06 |
[๋ฐฑ์ค] 1931.ํ์์ค ๋ฐฐ์ /Python - Silver1 (1) | 2024.11.28 |