function solution(n, lost, reserve) {
let answer = 0;
let students = new Array(n + 1).fill(1);
for (let i = 1; i < n + 1; i++) {
if (lost.includes(i)) {
students[i]--;
}
if (reserve.includes(i)) {
students[i]++;
}
}
for (let i = 1; i < n + 1; i++) {
if (students[i] === 0) {
if (students[i - 1] === 2) {
students[i - 1]--;
students[i]++;
} else if (students[i + 1] === 2) {
students[i + 1]--;
students[i]++;
}
}
}
answer = students.filter((x) => x >= 1).length - 1;
return answer;
}
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฒด์ก๋ณต
์ ์ฌ์๊ฐ์ ๋๋์ด ๋ค์ด, ์ผ๋ถ ํ์์ด ์ฒด์ก๋ณต์ ๋๋๋นํ์ต๋๋ค. ๋คํํ ์ฌ๋ฒ ์ฒด์ก๋ณต์ด ์๋ ํ์์ด ์ด๋ค์๊ฒ ์ฒด์ก๋ณต์ ๋น๋ ค์ฃผ๋ ค ํฉ๋๋ค. ํ์๋ค์ ๋ฒํธ๋ ์ฒด๊ฒฉ ์์ผ๋ก ๋งค๊ฒจ์ ธ ์์ด, ๋ฐ๋ก ์๋ฒ
programmers.co.kr
- ํ์๋ค์ด ๋ชจ๋ 1๋ฒ์ฉ ์ท์ ๊ฐ๊ณ ์๊ธฐ์ 1๋ก ์ฑ์ด ๋ฐฐ์ด์ ๋ง๋ ๋ค.(์ด ๋, ๋ฐฐ์ด์ 0๋ฒ์งธ ์ธ๋ฑ์ค๋ ๋ฌด์ํ๋ค.)
- lost ๋ฐฐ์ด์ ๋ค์ด์๋ ์ซ์๋ฅผ ์ธ๋ฑ์ค๋ก ํ๋ ๊ฐ์ --, ๋ฐ๋๋ก reserve๋ด์ ์ซ์์ ๋ํด์ ++ ํด์ค๋ค.
- ๋ฐฐ์ด์ ํ์๋ค๋ง๋ค ๊ฐ๊ณ ์๋ ์ท์ ์ซ์๊ฐ ๋ด๊ฒผ๊ณ ๋ฌธ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ํ์์ ์ท์ด 0 ์ผ ๋, ์๋ค ํ์์ด 2๋ฒ์ด๋ผ๋ฉด ๊ฐ๊ฐ +1๊ณผ -1 ์ฒ๋ฆฌ
- ์ชผ์ค๊ธ ๊ฐ๋ ์ด ํท๊ฐ๋ฆด ์ ์๋๊ฒ, 0์ ๊ธฐ์ค์ผ๋ก ์๋ค๋ก 2๋ฅผ ์ฐพ๋ ์์๊ฐ ์ ๋ง ์ต์ ์ ๊ฐ์ด ๋์ค๊ฒ ํ๋๊ฑธ๊น ์ถ์ ์ ์๋ค. ํ์ง๋ง, ์ท์ 2๋ฒ ๊ฐ๊ณ ์๋ ํ์์ ์ ์ฅ์์ ์์ด๋ ๋ค๋ 0์ธ ์น๊ตฌ๊ฐ ์๋ค๋ฉด ๋ฌด์กฐ๊ฑด ์ท์ ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ฏ๋ก ์ต์ ์ ๊ฐ์ด ๋์ค๊ฒ ๋๋ค.
'๐ JavaScript > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] 2019์นด์นด์ค - ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ (0) | 2022.06.30 |
---|---|
[JS] ์์ ๋ง๋ค๊ธฐ (0) | 2022.06.30 |
[JS] 2019์นด์นด์ค - ์คํจ์จ (0) | 2022.06.28 |
[JS] 2018์นด์นด์ค - ๋น๋ฐ์ง๋ (0) | 2022.06.28 |
[JS] 2018์นด์นด์ค - ๋คํธ ๊ฒ์ (0) | 2022.06.28 |