티스토리 뷰

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
링크
«   2024/10   »
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 29 30 31
글 보관함