[백준] 19941번 : 햄버거 분배 (Python)
2023. 3. 16. 02:57ㆍ알고리즘/그리디
https://www.acmicpc.net/problem/19941
19941번: 햄버거 분배
기다란 벤치 모양의 식탁에 사람들과 햄버거가 아래와 같이 단위 간격으로 놓여 있다. 사람들은 자신의 위치에서 거리가 $K$ 이하인 햄버거를 먹을 수 있다. 햄버거 사람 햄버거 사람 햄버거 사
www.acmicpc.net
💡 문제 접근
- 최대한 왼쪽에 있는 햄버거를 우선적으로 먹어야함
- 햄버거 먹으면 다른 문자로 바꿔주기
💡 내 코드
# 햄버거 분배
n,k = map(int,input().split())
hp =list(input())
cnt=0
for i in range(n):
for j in range(i-k,i+k+1): # 거리 안에 있는 햄버거 찾기
if hp[i]=='P': # 현재 위치가 사람일때
if j<n and j>=0:
if hp[j] == 'H': # 햄버거 찾으면 해당 H 변경
hp[j] = '0'
cnt+=1
break
print(cnt)
🚨 범위가 헷갈렸음
- 현재 위치를 기준으로 양쪽 k 거리 찾아야함 i-k 부터 i+k+1까지 (for문)
- 찾는 범위는 음수나 리스트 범위를 넘으면 안됨

'알고리즘 > 그리디' 카테고리의 다른 글
[백준] 20115번 : 에너지 드링크 (Python) (0) | 2023.03.16 |
---|---|
[백준] 20300번 : 서강근육맨 (Python) (0) | 2023.03.16 |
[백준] 11508번 : 2+1 세일 (Python) (0) | 2023.03.15 |
[백준] 1758번 : 알바생 강호 (Python) (1) | 2023.03.15 |
[백준] 13305번 : 주유소 (Python) (0) | 2023.03.15 |