๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/Greedy

[๋ฐฑ์ค€]19941๋ฒˆ: ํ–„๋ฒ„๊ฑฐ ๋ถ„๋ฐฐ

by syLim___ 2023. 3. 16.
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