[๋ฐฑ์ค 1449๋ฒ] [๐ฅ3] ์๋ฆฌ๊ณต ํญ์น (python)
๋ฌธ์
ํญ์น์ด๋ ํ์ง์ด ์ฌ๊ฐํ๊ฒ ๋์ ์๋ ํ์ดํ ํ์ฌ์ ์๋ฆฌ๊ณต์ด๋ค. ํญ์น์ด๋ ์ธ์ค ์งํ์ฒ ๊ณต์ฌ์์ ๋ฌผ์ด ์๋ค๋ ์์์ ๋ฃ๊ณ ์๋ฆฌ๋ฅผ ํ๋ฌ ๊ฐ๋ค.
ํ์ดํ์์ ๋ฌผ์ด ์๋ ๊ณณ์ ์ ๊ธฐํ๊ฒ๋ ๊ฐ์ฅ ์ผ์ชฝ์์ ์ ์๋งํผ ๋จ์ด์ง ๊ฑฐ๋ฆฌ๋ง ๋ฌผ์ด ์๋ค.
ํญ์น์ด๋ ๊ธธ์ด๊ฐ L์ธ ํ ์ดํ๋ฅผ ๋ฌดํ๊ฐ ๊ฐ์ง๊ณ ์๋ค.
ํญ์น์ด๋ ํ ์ดํ๋ฅผ ์ด์ฉํด์ ๋ฌผ์ ๋ง์ผ๋ ค๊ณ ํ๋ค. ํญ์น์ด๋ ํญ์ ๋ฌผ์ ๋ง์ ๋, ์ ์ด๋ ๊ทธ ์์น์ ์ข์ฐ 0.5๋งํผ ๊ฐ๊ฒฉ์ ์ค์ผ ๋ฌผ์ด ๋ค์๋ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
๋ฌผ์ด ์๋ ๊ณณ์ ์์น์, ํญ์น์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ํ ์ดํ์ ๊ธธ์ด L์ด ์ฃผ์ด์ก์ ๋, ํญ์น์ด๊ฐ ํ์ํ ํ ์ดํ์ ์ต์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ํ ์ดํ๋ฅผ ์๋ฅผ ์ ์๊ณ , ํ ์ดํ๋ฅผ ๊ฒน์ณ์ ๋ถ์ด๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌผ์ด ์๋ ๊ณณ์ ๊ฐ์ N๊ณผ ํ ์ดํ์ ๊ธธ์ด L์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๋ฌผ์ด ์๋ ๊ณณ์ ์์น๊ฐ ์ฃผ์ด์ง๋ค. N๊ณผ L์ 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๊ณ , ๋ฌผ์ด ์๋ ๊ณณ์ ์์น๋ 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ํญ์น์ด๊ฐ ํ์ํ ํ ์ดํ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
4 2
1 2 100 101
์์ ์ถ๋ ฅ 1
2
์์ ์ ๋ ฅ 2
4 3
1 2 3 4
์์ ์ถ๋ ฅ 2
2
์์ ์ ๋ ฅ 3
3 1
3 2 1
์์ ์ถ๋ ฅ 3
3
๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋งํ๋ ๋ถ๋ถ
์ฃผ์ด์ง ๊ตฌ๋ฉ์ ์์น๋ฅผ ์ ๋ ฌํ ๋ค, ๊ฐ์ฅ ์์ ๊ฐ - 0.5๋ฅผ ์์ ์์น๋ก ์ค์ ํ๊ณ , ์์ ์์น์ ํ ์ดํ๋ฅผ ๋ถ์ธ ๊ฒ์ผ๋ก ์์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ตฌ๋ฉ์ ํ๋์ฉ ํ์ธํ๋ฉฐ, ํด๋น ๊ตฌ๋ฉ์ด ์ด๋ฏธ ํ ์ดํ๋ก ๋งํ์๋ ๊ตฌ๋ฉ์ธ์ง ํ์ธํ ๋ค, ๋งํ์์ง ์์ ๊ตฌ๋ฉ์ด๋ผ๋ฉด ํ ์ดํ๋ฅผ ๋ถ์ธ๋ค. ์ด ๋, ์์ ์์น์ ๋ ์์น๋ฅผ ๋ค์ ์ค์ ํ๊ณ , ํ ์ดํ ๊ฐ์๋ฅผ ์ฆ๊ฐ์ํจ๋ค. ๋ง์ง๋ง์ผ๋ก ํ์ํ ์ต์ํ์ ํ ์ดํ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
์ฝ๋
ver(1)
n,l = map(int,input().split()) # n: ํ
์ดํ๋ก ๋ง์์ผ ํ๋ ๊ตฌ๋ฉ์ ๊ฐ์, l: ํ
์ดํ์ ๊ธธ์ด
arr = list(map(int,input().split())) # ๊ตฌ๋ฉ์ ์์น
arr.sort() # ๊ตฌ๋ฉ์ ์์น๋ฅผ ์ ๋ ฌํ์ฌ ์์ ์์น๋ฅผ ๊ฐ์ฅ ์์ ๊ฐ์ผ๋ก ์ค์
start = arr[0]-0.5 # ์์ ์์น๋ ๊ฐ์ฅ ์์ ๊ฐ - 0.5๋ก ์ค์
end = start + l # ๋ ์์น๋ ์์ ์์น + ํ
์ดํ์ ๊ธธ์ด๋ก ์ค์
cnt = 1 # ํ
์ดํ์ ๊ฐ์๋ฅผ ์ธ๊ธฐ ์ํ ๋ณ์, ์์ ์์น์ ํ
์ดํ๋ฅผ ๋ถ์ด๋ ๊ฒ์ ๊ณ ๋ คํ์ฌ 1๋ก ์ด๊ธฐํ
for i in range(0, len(arr)): # ๊ตฌ๋ฉ์ ์์น๋ฅผ ํ๋์ฉ ํ์ธํ๋ฉฐ ํ
์ดํ๋ฅผ ๋ถ์ด๋ ๊ณผ์
if start< arr[i] < end: # ์ด๋ฏธ ํ
์ดํ๋ก ๋งํ์๋ ๊ตฌ๋ฉ์ธ ๊ฒฝ์ฐ, ๋ค์ ๊ตฌ๋ฉ์ผ๋ก ์ด๋
continue
else: # ํ
์ดํ๋ก ๋งํ์์ง ์์ ๊ตฌ๋ฉ์ธ ๊ฒฝ์ฐ
cnt+=1 # ํ
์ดํ ๊ฐ์ ์ฆ๊ฐ
start = arr[i]-0.5 # ์์ ์์น๋ฅผ ํ์ฌ ๊ตฌ๋ฉ ์์น - 0.5๋ก ์ค์
end = start + l # ๋ ์์น๋ฅผ ์์ ์์น + ํ
์ดํ์ ๊ธธ์ด๋ก ์ค์
print(cnt) # ์ต์ํ์ ํ
์ดํ ๊ฐ์ ์ถ๋ ฅ
๋๊ธ๋จ๊ธฐ๊ธฐ