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);
		
	}

}