728x90
https://www.acmicpc.net/problem/19941
19941๋ฒ: ํ๋ฒ๊ฑฐ ๋ถ๋ฐฐ
๊ธฐ๋ค๋ ๋ฒค์น ๋ชจ์์ ์ํ์ ์ฌ๋๋ค๊ณผ ํ๋ฒ๊ฑฐ๊ฐ ์๋์ ๊ฐ์ด ๋จ์ ๊ฐ๊ฒฉ์ผ๋ก ๋์ฌ ์๋ค. ์ฌ๋๋ค์ ์์ ์ ์์น์์ ๊ฑฐ๋ฆฌ๊ฐ $K$ ์ดํ์ธ ํ๋ฒ๊ฑฐ๋ฅผ ๋จน์ ์ ์๋ค. ํ๋ฒ๊ฑฐ ์ฌ๋ ํ๋ฒ๊ฑฐ ์ฌ๋ ํ๋ฒ๊ฑฐ ์ฌ
www.acmicpc.net
1 ์ํ์ ์ผ์ชฝ --> ์ค๋ฅธ์ชฝ ๋ฐฉํฅ์ผ๋ก ์์ฐจ ํ์
2. ์ฌ๋์ผ ๊ฒฝ์ฐ, ์ผ์ชฝ k๋งํผ ๋จ์ด์ง ์๋ฆฌ๋ถํฐ ์ค๋ฅธ์ชฝ ๋ฐฉํฅ์ผ๋ก (์ค๋ฅธ์ชฝ k๋งํผ ๋จ์ด์ง ์๋ฆฌ๊น์ง) ์ ํํ์ํ๋ค.
-ํ๋ฒ๊ฑฐ๋ฅผ ์ต์ด๋ก ์ฐพ์ผ๋ฉด ํ๋ฒ๊ฑฐ๋ฅผ ๋จน๊ณ ํ์์ ์ข ๋ฃํ๋ค.
-ํ๋ฒ๊ฑฐ๋ฅผ ์ฐพ์ง ๋ชปํ๋ฉด ์ ๊ฐ..
import sys
input = sys.stdin.readline
n,k = map(int,input().split())
table = list(input().rstrip())
cnt = 0 # ํ๋ฒ๊ฑฐ ๋จน์ ์ฌ๋ ์
for i in range(n):
if table[i]=='P': #์ฌ๋์ด๋ฉด i-k ~ i+k ๋ฒ์๋ฅผ ํ์ํ๋ค.
j=k
while j >= -k:
if 0 <= i-j < n and table[i-j]=='H': # ํ๋ฒ๊ฑฐ๋ฅผ ์ต์ด๋ก ์ฐพ์ผ๋ฉด
table[i-j]='X' # ํ์ํด์ฃผ๊ณ
cnt += 1 # ์นด์ดํธ๋ฅผ ์ฆ๊ฐ์์ผ์ค ํ
break # ํ๋ฒ๊ฑฐ ํ์์ ์ข
๋ฃํ๋ค.
j -= 1
print(cnt)
728x90
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > Greedy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์ฝํ ] ๋ณผ๋ง๊ณต ๊ณ ๋ฅด๊ธฐ (0) | 2023.03.25 |
---|---|
[๋ฐฑ์ค]1138๋ฒ: ํ ์ค๋ก ์๊ธฐ (0) | 2023.03.18 |
[๋ฐฑ์ค]13305๋ฒ: ์ฃผ์ ์ (0) | 2023.03.16 |
[๋ฐฑ์ค]1439๋ฒ: ๋ค์ง๊ธฐ (0) | 2023.03.01 |
[์ด์ฝํ ] ๋ชจํ๊ฐ ๊ธธ๋ (0) | 2023.02.22 |