본문 바로가기
알고리즘/백준 문제

19441 - 햄버거 분배

by HDobby 2023. 3. 3.

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

 

19941번: 햄버거 분배

기다란 벤치 모양의 식탁에 사람들과 햄버거가 아래와 같이 단위 간격으로 놓여 있다. 사람들은 자신의 위치에서 거리가 $K$ 이하인 햄버거를 먹을 수 있다. 햄버거 사람 햄버거 사람 햄버거 사

www.acmicpc.net

생각해 보기

  • 햄버거를 먹는 방법은 여러가지가 있다.
  • 사람은 먹을 수 있는 햄버거의 가짓 수가 여러개 일 수도 있다.
  • 햄버거를 기준으로 항상 왼쪽부터 안먹은 사람에게 준다면 다음 햄버거는 그 사람을 제외한 사람에게 주면 된다.

코드

#include<iostream>

using namespace std;

int N,K;
string arr;
void input(){
    cin>>N>>K>>arr;
}

void solution(){
    int cnt=0;
    for(int i=0;i<N;++i){
        if(arr[i]=='P'){
            for(int j=max(0,i-K);j<=min(i+K,N-1);++j){
                if(arr[j]=='H'){
                    ++cnt;
                    arr[j]='X';
                    break;
                }
            }
        }
    }
    cout<<cnt<<'\n';
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    input();
    solution();

    return 0;
}

728x90

'알고리즘 > 백준 문제' 카테고리의 다른 글

2607 - 비슷한 단어  (0) 2023.03.06
17484 - 진우의 달 여행(Small)  (0) 2023.03.03
1515 - 수 이어 쓰기  (0) 2023.03.02
21921 - 블로그  (0) 2023.03.02
20920 - 영단어 암기는 괴로워  (0) 2023.02.28

댓글