Softeer

연습문제를 담을 Set을 선택해주세요. 취소 확인

softeer.ai

  • 사이트에서 문제를 확인해주세요.

나의 풀이

앞에 있는 로봇들이 자신의 왼쪽에 위치한 물류 부터 선택하게 하면 결국 최대 로봇 수를 구할 수 있다.

import sys

line_len, robot_range = map(int, input().split())
line_info = list(input())

count = 0
# 앞에서부터 조회
for idx, obj in enumerate(line_info):
    if obj == "P":
        for j in range(idx - robot_range, idx + robot_range + 1):
            if j < 0 or j > line_len - 1:
                continue
            elif line_info[j] == "H":
                count += 1
                # 다른 로봇이 사용하지 못하게 0으로 바꾸기.
                line_info[j] = 0
                break
print(count)