https://www.acmicpc.net/problem/19941
<코드>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n,k;
int cnt=0;
vector<char>v;
cin>>n>>k;
string str;
cin>>str;
for(int i=0;i<str.size();i++)
{
v.push_back(str[i]);
}
for(int i=0;i<n;i++)
{
if(v[i]!='P') continue;
for(int j = i-k;j<=i+k;j++)
{
if(v[j]=='H')
{
v[j]='A';
cnt++;
break;
}
}
}
cout<<cnt;
}
<풀이과정>
햄버거를 발견하면 거리가 좌우 거리가 k인 지점에서 사람이 있으면 개수를 1씩 증가시켜주면 끝이다!
'PS > 그리디 알고리즘[Greedy]' 카테고리의 다른 글
백준 1758 알바생(c++) (0) | 2022.07.17 |
---|---|
백준 13164 행복 유치원(c++) (1) | 2022.07.11 |
백준 1449 수리공 항승 (0) | 2022.07.01 |
백준 18310 안테나 (0) | 2022.06.30 |
백준 2812 크게 만들기 (0) | 2022.06.30 |