[ 문제 ]
[ 접근방법 ]
제일 왼쪽에 있는 사람부터 시작하여 최대한 왼쪽에 위치한 햄버거를 먹는 방식으로 문제를 접근한다.
시간복잡도는 O(NK) 이다.
[ 소스코드 ]
#include <iostream>
#include <algorithm>
using namespace std;
int n, k, ans;
string str;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> k >> str;
for(int i = 0; i < n; i++){
if(str[i] == 'P'){
for(int j = max(0, i - k); j <= min(n - 1, i + k); j++){
if(str[j] == 'H'){
str[j] = 'N';
ans++;
break;
}
}
}
}
cout << ans;
return 0;
}
'PS' 카테고리의 다른 글
[ 백준 / C++ ] 2660 : 회장뽑기 (0) | 2025.02.06 |
---|---|
[ 백준 / C++ ] 1446 : 지름길 (0) | 2025.02.05 |
[ 백준 / C++ ] 1205 : 등수 구하기 (0) | 2025.02.03 |
[ 백준 / C++ ] 1038 : 감소하는 수 (0) | 2025.01.23 |
[ 백준 / C++ ] 1197 : 최소 스패닝 트리 (0) | 2025.01.21 |