문제설명
벤치의 길이와 사람들이 햄버거를 가져올 수 있는 거리 K를 입력받고 햄버거와 사람의 배치를 입력받았을 때 최대 몇명의 사람이 햄버거를 먹을수 있는지 출력하는 문제입니다.
작동 순서
1. 벤치의 길이와 사람들이 햄버거를 가져올 수 있는 N, K를 입력받습니다.
2. 벤치의 사람과 햄버거의 배치를 입력받습니다.
3. 벤치에 있는 것이 사람일 경우 그 사람의 근처를 탐색하고 햄버거가 있을 경우 count를 +1 해주고 그 위치의 햄버거를 먹은 것으로 처리해줍니다.(N으로 변경)
4. 벤치를 모두 탐색한 뒤 count를 출력합니다.
소스코드
import sys
N, K = map(int, sys.stdin.readline().split())
strInput = list(sys.stdin.readline().rstrip())
count = 0
if N < K:
K = N
for i in range(N):
if strInput[i] == "P":
for j in range(-K, K+1):
if 0 <= i+j < N:
if strInput[i+j] == "H":
count += 1
strInput[i+j] = "N"
break
print(count, end="")