본문 바로가기
코딩/백준-자바

[자바] 백준 19941번: 햄버거 분배

by 철없는민물장어 2023. 3. 3.
728x90
반응형

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

 

19941번: 햄버거 분배

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

www.acmicpc.net

 

배열에 햄버거/사람 정보를 입력받아 둔다.

배열의 인덱스0부터~끝까지 반복문을 돈다.

사람이라면..

범위(k)안에 있는 햄버거 중 가장 왼쪽 것을 먹는다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class P19941 {

	public static void main(String[] args) throws 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];

		String line = br.readLine();
		for (int i = 0; i < n; i++) {
			arr[i] = line.charAt(i);
		}

		int count = 0;
		for (int i = 0; i < n; i++) {
			if (arr[i] == 'P') {
				for (int j = i - k; j <= i + k; j++) {

					// 범위를 벗어나는 경우
					if (j < 0 || j >= n)
						continue;

					if (arr[j] == 'H') {
						// 햄버거를 찾은경우
						arr[j] = '0';// 먹은 표시
						count++;
						break;
					}
				}
			}
		}
		System.out.println(count);
	}

}
728x90
반응형

댓글