카테고리 없음

[Softeer] 6279 스마트 물류 Lv.3 (파이썬 python)

YOONJELLY 2024. 1. 30. 15:22

 

문제 링크

 

https://softeer.ai/practice/6279

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

 

softeer.ai

 

 

문제 풀이

 

그리디하게 앞에서부터 사용할 수 있는 부품을 차례로 집는 것이

최댓값을 찾을 수 있는 방법이라 생각했고, 그 방법대로 깔끔하게 해결할 수 있었습니다.

 

n, k = map(int, input().split())
arr = list(input())
result = 0

for i in range(len(arr)):
    if arr[i] == 'P':
        for j in range(i - k, i + k + 1):
            if 0 <= j < len(arr) and arr[j] == 'H':
                arr[j] = 'U'
                result += 1
                break
print(result)

 

앞에서부터 리스트를 탐색하며 로봇의 위치를 찾고

로봇을 찾았으면 해당 로봇 위치를 기준으로 k 범위만큼 앞, 뒤로 탐색하며 부품을 찾습니다.

앞에서부터 탐색하며 부품을 찾았을 경우 추후 부품을 탐색할 때 걸리지 않도록 used라는 의미로 'U'로 변경해줍니다.

k의 범위가 10까지로 매우 작았기에 시간 초과 없이 가능했던 방법인 것 같습니다.