Java
[백준 19941] 햄버거 분배
iheeeee6-6
2023. 4. 22. 14:41
728x90
https://www.acmicpc.net/problem/19941
19941번: 햄버거 분배
기다란 벤치 모양의 식탁에 사람들과 햄버거가 아래와 같이 단위 간격으로 놓여 있다. 사람들은 자신의 위치에서 거리가 $K$ 이하인 햄버거를 먹을 수 있다. 햄버거 사람 햄버거 사람 햄버거 사
www.acmicpc.net
간단하게 배열을 생성하여 이미 먹은 햄버거인지 확인한다.
아주 간단한 실버3 문제였다..!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static boolean[] eatCheck;
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int k = Integer.parseInt(st.nextToken());
char[] arr = new char[n];
eatCheck=new boolean[n];
char[] strArr= br.readLine().toCharArray();
for(int i=0;i<n;i++) {
arr[i]= strArr[i];
}
int result=0;
for(int i=0;i<n;i++) {
if(arr[i]=='P') {
int start=i-k<0?0:i-k;
int end=i+k>=n?n-1:i+k;
for(int j=start;j<=end;j++) {
if(arr[j]=='H'&&!eatCheck[j]) {
result++;
eatCheck[j]=true;
break;
}
}
}
}
System.out.println(result);
}
}