코딩/공부

[Python] 백준 19941번 - 햄버거 분배

취미니스트 2024. 4. 26. 17:43
728x90
반응형

문제

https://www.acmicpc.net/problem/19941

 

식탁의 길이에 해당하는 N과 햄버거를 선택할 수 있는 거리 K를 입력받음.

H와 P로 이루어진 문자열을 입력받음.

수를 세기위한 변수를 생성(0으로 초기화).

n, k = map(int, input().split())
s = list(input())
count = 0

 

반복문을 이용하여 한 글자씩 확인.

- 해당 글자가 P가 아니면 continue.

- i-k부터 i+k번째가지 반복을 통해 확인.

-- 만일 인덱스 범위를 벗어났다면 continue.

-- 해당 번째의 문자가 H이면.

--- 먹었다는 의미로 - 저장.

--- count 1 증가 후 반복 종료.

개수 출력.

for i in range(n):
    if s[i] != 'P':
        continue
    for j in range(i-k, i+k+1):
        if j < 0 or j >= n:
            continue
        if s[j] == 'H':
            s[j] = '-'
            count += 1
            break
print(count)

 

전체 코드.

n, k = map(int, input().split())
s = list(input())
count = 0

for i in range(n):
    if s[i] != 'P':
        continue
    for j in range(i-k, i+k+1):
        if j < 0 or j >= n:
            continue
        if s[j] == 'H':
            s[j] = '-'
            count += 1
            break
print(count)
728x90
반응형