
정말 무식하게 푼걸까 싶으면서도 내 생각엔 나름 빠르게 한 것 같은데 ^^...
N값이 그렇게 크지 않으니 완전탐색 ? 렛츠고
현재 위치를 기준으로 앞뒤로 K만큼을 탐색하자는 생각이었다. 2중포문으로 해결 가능 !
로봇, P인 경우에만 탐색을 하면 된다. i==j이거나, j < 0 or j >= N인 경우 continue로 넘어가줬다. 왜냐하면 i==j는 같은 곳을 체크하는 것이고, j < 0 or j >= N는 없는 곳을 탐색해야하기 때문!부품, H를 만났고, 이것이 다른 로봇에게 집혀가지 않았다면 현재 로봇이 이 부품을 집었다는 것이기 때문에 pick_items[j]를 True로 바꿔주면 된다.import sys
from collections import Counter
N, K = map(int, input().split())
lines = list(sys.stdin.readline().rstrip())
# print(lines)
pick_items = [False] * N
for i in range(N):
if lines[i] == 'P':
for j in range(i-K, i+K+1):
if i == j or j < 0 or j >= N:
continue
if lines[j] == 'H' and not pick_items[j]:
pick_items[j] = True
break
result = 0
for i in pick_items:
if i == True:
result += 1
print(result)
