티스토리 뷰

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

 

29732번: Rick-Roll Virus

첫 번째 줄에 정수 $N$, $M$, $K$가 공백으로 구분되어 주어진다. $(1 \leq N \leq 10\,000;$ $0 < M \leq N;$ $0 \leq K \leq \lfloor\frac{N}{2}\rfloor)$ 두 번째 줄에 사람들의 감염 상태를 나타내는 길이 $N$의 문자열 $S$

www.acmicpc.net

const [NMK, S] = require('fs')
	.readFileSync('./dev/stdin')
	.toString()
	.trim()
	.split('\n')
	.map((v) => v.trim());
const [N, M, K] = NMK.split(' ').map(Number);

let peoples = S.split('');

for (let i = 0; i < N; i++) {
	const people = S[i];
	if (people == 'R') {
		const left = Math.max(0, i - K);
		const right = Math.min(N - 1, i + K);
		for (let j = left; j <= right; j++) {
			peoples[j] = 'R';
		}
	}
}
const answer = peoples.filter((v) => v == 'R').length <= M;

console.log(answer ? 'Yes' : 'No');
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함