๐ŸŒ  ๋ฌธ์ œ

์„ ๋ถ„ 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;
}

+ Recent posts