• 문제 링크
19941번: 햄버거 분배
기다란 벤치 모양의 식탁에 사람들과 햄버거가 아래와 같이 단위 간격으로 놓여 있다. 사람들은 자신의 위치에서 거리가 $K$ 이하인 햄버거를 먹을 수 있다. 햄버거 사람 햄버거 사람 햄버거 사
www.acmicpc.net
• 풀이 과정
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int k = Integer.parseInt(st.nextToken());
char[] arr = br.readLine().toCharArray();
int cnt = 0;
for (int i = 0; i < n; i++) {
int src = Math.max(i - k, 0);
int dest = Math.min(i + k, n - 1);
for (int j = src; j <= dest; j++) {
if ((arr[i] == 'H' && arr[j] == 'P') || (arr[i] == 'P' && arr[i] == 'H')) {
arr[i] = '.';
arr[j] = '.';
cnt++;
break;
}
}
}
bw.write(String.valueOf(cnt));
bw.flush();
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 1105 팔 - Greedy / Java (0) | 2023.02.19 |
---|---|
[백준] 19939 박 터뜨리기 - Greedy / Java (0) | 2023.02.18 |
[백준] 11508 2+1 세일 - Greedy / Java (0) | 2023.02.16 |
[백준] 16435 스네이크버드 - Greedy / Java (0) | 2023.02.15 |
[백준] 1052 물병 - Greedy / Java (0) | 2023.02.14 |
댓글