๐ ๋ฌธ์
์ ๋ถ 3๊ฐ๊ฐ ํํํ๊ฒ ๋์ฌ ์์ต๋๋ค. ์ธ ์ ๋ถ์ ์์๊ณผ ๋ ์ขํ๊ฐ [[start, end], [start, end], [start, end]] ํํ๋ก ๋ค์ด์๋ 2์ฐจ์ ๋ฐฐ์ด lines๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ ๊ฐ ์ด์์ ์ ๋ถ์ด ๊ฒน์น๋ ๋ถ๋ถ์ ๊ธธ์ด๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์.
lines๊ฐ [[0, 2], [-3, -1], [-2, 1]]์ผ ๋ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ๋ถ์ด ๋ ๊ฐ ์ด์ ๊ฒน์น ๊ณณ์ [-2, -1], [0, 1]๋ก ๊ธธ์ด 2๋งํผ ๊ฒน์ณ์์ต๋๋ค.
๐ ์ ํ์ฌํญ
- lines์ ๊ธธ์ด = 3
- lines์ ์์์ ๊ธธ์ด = 2
- ๋ชจ๋ ์ ๋ถ์ ๊ธธ์ด๊ฐ 1 ์ด์์ ๋๋ค.
- lines์ ์์๋ [a, b] ํํ์ด๋ฉฐ, a, b๋ ๊ฐ๊ฐ ์ ๋ถ์ ์ ๋์ ์ ๋๋ค.
- -100 ≤ a < b ≤ 100
๐ ์ ์ถ๋ ฅ ์
lines result
[[0, 1], [2, 5], [3, 9]] 2
[[-1, 1], [1, 3], [3, 9]] 0
[[0, 5], [3, 9], [1, 10]]
๐ ์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ ๋ฒ์งธ, ์ธ ๋ฒ์งธ ์ ๋ถ [2, 5], [3, 9]๊ฐ [3, 5] ๊ตฌ๊ฐ์ ๊ฒน์ณ์์ผ๋ฏ๋ก 2๋ฅผ return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๊ฒน์น ์ ๋ถ์ด ์์ผ๋ฏ๋ก 0์ return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #3
- ์ฒซ ๋ฒ์งธ์ ๋ ๋ฒ์งธ ์ ๋ถ์ด [3, 5] ๊ตฌ๊ฐ์์ ๊ฒน์นฉ๋๋ค.
- ์ฒซ ๋ฒ์งธ์ ์ธ ๋ฒ์งธ ์ ๋ถ [1, 5] ๊ตฌ๊ฐ์์ ๊ฒน์นฉ๋๋ค.
- ๋ ๋ฒ์งธ์ ์ธ ๋ฒ์งธ ์ ๋ถ [3, 9] ๊ตฌ๊ฐ์์ ๊ฒน์นฉ๋๋ค.
- ๋ฐ๋ผ์ [1, 9] ๊ตฌ๊ฐ์ ๋ ๊ฐ ์ด์์ ์ ๋ถ์ด ๊ฒน์ณ์์ผ๋ฏ๋ก, 8์ return ํฉ๋๋ค.
๐ง ํ์ด
function solution(lines) {
let linesmap = new Array(200);
linesmap.fill(0);
for (let i = 0; i <= 2; i ++) {
let left = lines[i][0];
let right = lines[i][1];
for (let j = left; j < right; j++) {
linesmap[j+100] += 1;
}
}
let answer = 0;
for ( let k in linesmap) {
if (linesmap[k] > 1) {
answer += 1;
}
}
return answer;
}
'๐งฉ Algorithm > ๐ง JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์น์์ด (1) (0) | 2023.04.18 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ํน์ดํ ์ ๋ ฌ (0) | 2023.04.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ํ์์ ํ๋ณํ๊ธฐ (0) | 2023.04.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํํ (0) | 2023.04.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ์ฃผ์ ์ซ์ 3 (0) | 2023.04.18 |