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 |
댓글