PS/그리디 알고리즘[Greedy]

백준 19941 햄버거 분배

SeungbeomKim 2022. 7. 3. 11:02

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

 

19941번: 햄버거 분배

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

www.acmicpc.net

<코드>

#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