๋ฌธ์ ๋งํฌ
https://www.acmicpc.net/problem/1244
๋ฌธ์ ํ์ด
์ค์์น๋ฅผ ์ด๋ ์ดํํ๋ก ํํํด์ ์ด๋ฅผ ๋ค๋ฃจ์๋ค. switchArr[n] ์ n๋ฒ์งธ ์ค์์น์ ์ํ๋ฅผ ์๋ ค์ค๋ค ( 1 ๋๋ 0 ) ์ด ์ดํ์๋ ๊ตฌํ๋ฅ๋ ฅ์ ๋ฌ๋ ค์๋ค. ์ด๋ ต์ง ์๊ฒ ํ ์ ์์๋ค.
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
let switchCount = Number(input[0]);
let switchArr = input[1].split(" ").map((n) => Number(n));
switchArr.unshift(undefined);
for (let i = 3; i < input.length; ++i) {
let [gender, n] = input[i].split(" ").map((v) => Number(v));
if (gender === 1) {
// ๋จ์
let multipliedNum = n;
while (multipliedNum <= switchCount) {
switchArr[multipliedNum] = switchArr[multipliedNum] === 1 ? 0 : 1;
multipliedNum += n;
}
} else {
// ์ฌ์
switchArr[n] = switchArr[n] === 0 ? 1 : 0;
let left = n - 1,
right = n + 1;
while (left >= 1 && right <= switchCount && switchArr[left] === switchArr[right]) {
switchArr[left] = switchArr[left] === 0 ? 1 : 0;
switchArr[right] = switchArr[right] === 0 ? 1 : 0;
left -= 1;
right += 1;
}
}
}
switchArr.shift();
let answer = "";
let cnt = 0;
for (let i = 0; i < switchArr.length; ++i) {
if (cnt !== 20) {
answer += ` ${switchArr[i]}`;
++cnt;
} else {
answer += `\n${switchArr[i]}`;
cnt = 1;
}
}
console.log(answer.trim());
'๐Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค[JS] > ๋ด์ธ๋ ์ฃผ๋ฌธ (0) | 2025.03.08 |
---|---|
๋ฐฑ์ค[JS] > 13305๋ฒ ์ฃผ์ ์ (0) | 2025.03.08 |
๋ฐฑ์ค[JS] > 23971๋ฒ ZOAC 4 (0) | 2025.03.06 |
๋ฐฑ์ค[JS] > 14719๋ฒ ๋น๋ฌผ (0) | 2025.03.06 |
๋ฐฑ์ค[JS] > 1446๋ฒ ์ง๋ฆ๊ธธ (0) | 2025.03.05 |