문제링크
https://www.acmicpc.net/problem/19941
코드
input = __import__('sys').stdin.readline
n,k = map(int,input().split())
data = input()
visited = [False for _ in range(n)]
cnt = 0
for i in range(n):
if data[i] =='P':
for j in range(i-k,i+k+1):
if j<0 or j>=n:continue
if data[j] =='H' and not visited[j]:
visited[j] = True
cnt+=1
break
print(cnt)
문제풀이
사람일 경우(data[i] == 'P') 자신의 위치에서 거리가 k이하인 데이터를 모두 확인한다.
다른 사람이 먹기로 한 햄버거인지 확인하기 위해 visited 배열을 이용한다.
다른 사람이 먹지 않을 햄버거일 경우(data[j] =='H' and not visited[j] ) cnt를 증가시킨다.
'Koala - 11기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/python] 11256번 사탕 (0) | 2023.09.04 |
---|---|
[백준/Java] 19941 햄버거 분배 (1) | 2023.09.03 |
[백준/Python] 1461번 : 도서관 (0) | 2023.09.03 |
[백준/python] 20937번: 떡국 (0) | 2023.09.03 |
[백준 / C++] 2872번 우리집엔 도서관이 있어 (0) | 2023.09.03 |