๊ฐ ์๋ก ์๊ฐ์ด ์์ฒญ ๊ฑธ๋ฆฌ๋๋ฐ..
๊ธฐ๋ถํ์ธ๊ฐ....
์ ์ ๋น์ทํ ๋ฌธ์ ํ์๋๊ฑฐ ๊ฐ์๋ฐ,
ํ๋ฉด์ ์์ฒญ ํท๊ฐ๋ ค์ ์ ๋จน์๋ค...
ํ ์ ์์ ๊ฑฐ ๊ฐ์๋ฐ ์ ์๋ผ์ ์ค๋ ์ก๊ณ ์์๋ค.
(์ค์ ์ 2์๊ฐ ๋ณด๊ณ ์คํ์ 1์๊ฐ ๊ฑธ๋ ค์ ํ์ด๋๋ค,)
function solution(n, m, sections) {
let allSection = new Array(n + 1).fill(0);
Array.from(sections, x => allSection[x] = -1);
let count = 0;
sections.map(s => {
if (allSection[s] === -1) {
count++;
for (let i = s; i < s + m; i++) {
allSection[i] += 1;
};
}
})
return count;
}
ํ. ์ฒ์์ m ๋งํผ n ์ ๊ตฌ๊ฐ์ ๋๋ ์ ํ๋ ค๊ณ ํ๋๋ฐ, ๋ฑ๋จ์ด์ง์ง ์๋ ๋ถ๋ถ๋ ์๊ณ ํด์ ๋ ํท๊ฐ๋ ธ๋ ๊ฒ ๊ฐ๋ค.
๋จผ์ n ์ ๊ฐ์ + 1 ๋งํผ 0์ด ๋ค์ด์๋ ๋ฐฐ์ด์ ๋ง๋ ๋ค.
๊ทธ๋ฆฌ๊ณ from ๋ฉ์๋๋ฅผ ์ด์ฉํด section ์ ๋ค์ด์๋ ๊ณณ, ์ฆ ํ์ธํธ๊ฐ ์น ํด์ ธ์ผ ํ๋ ๊ตฌ๊ฐ์ -1 ๋ก ๋ฐ๊ฟ์คฌ๋ค.
๊ทธ๋ผ ์์ 1 ์ ๊ฒฝ์ฐ
[
0,
0, -1, -1, 0,
0, -1, 0, 0
]
์ด๋ฐ ๋ชจ์์ ๋ฐฐ์ด์ด ๋ง๋ค์ด์ง๋ค.
sections ๋ฅผ map ์ ์ด์ฉํด ํ์ธํธ๋ฅผ ์น ํด๋ณด์.
section ์ฆ, ์์ํ๋ ๊ณณ์ด -1 ์ธ ๊ฒฝ์ฐ์๋ง ํ์ธํธ๋ฅผ ์น ํ๋ค.
=> index 2๊ฐ -1 ์ด๋ฏ๋ก => for ๋ฌธ์ผ๋ก 2, 3, 4, 5 ๊ตฌ๊ฐ์ด ์น ํด์ง๋ค.
=> index 3 ์ 0 ์ด ๋์์ผ๋ฏ๋ก ๊ฑด๋๋ด๋ค.
=> index 6 d์ -1 ์ด๋ฏ๋ก ํ์ธํธ๋ฅผ ์น ํ๋ค.
for ๋ฌธ์ด ์๋ํ ๋๋ง๋ค count ๋ฅผ ์ธ์ด์ค๋ค.
์น ํ ์นธ์ด ์์ ๋๋ง for ๋ฌธ์ด ๋๊ณ , count ์ +1 ์ ํด์ฃผ๊ธฐ ๋๋ฌธ์, ์ต์ํ์ count ๊ฐ ๊ตฌํด์ง๋ค.
n ์ ๋ฒ์๊ฐ 10๋ง๊ฐ์ธ๊ฑธ ๊ฐ์ํ๋ฉด ์๋๋ ๋ง์กฑ์ค๋ฝ๋ค.
'ํ์ ๊ณต๋ถ > ๐ซง ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ์ซ์ ์ง๊ฟ (0) | 2023.07.11 |
---|---|
[์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] [1์ฐจ] ๋คํธ ๊ฒ์ (0) | 2023.07.06 |
[์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ์คํจ์จ (0) | 2023.06.30 |
[์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ์นด๋ ๋ญ์น (0) | 2023.06.28 |
[์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ๋ ์์ ํฉ - BigInt ๊ณ์ฐ (0) | 2023.06.27 |