Jieunny์˜ ๋ธ”๋กœ๊ทธ

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ฒน์น˜๋Š” ์„ ๋ถ„์˜ ๊ธธ์ด ๋ณธ๋ฌธ

Study/Coding Test

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ฒน์น˜๋Š” ์„ ๋ถ„์˜ ๊ธธ์ด

Jieunny 2023. 2. 3. 09:39

๐Ÿ“Œ  ๋ฌธ์ œ

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

 

๐Ÿ’ก  ์•„์ด๋””์–ด

์„ ๋ถ„์ด ์ง€๋‚˜๊ฐ€๋Š” ๊ณณ์„ ๋ฐฐ์—ด๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

์„ ๋ถ„์˜ ์ด ๊ธธ์ด๊ฐ€ 200์ด ์ตœ๋Œ€๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ธฐ๋ฅผ 200์œผ๋กœ ๋‘๊ณ , ์ขŒํ‘œ๊ฐ€ ์Œ์ˆ˜๊ฐ€ ๋‚˜์˜ฌ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ ์ง€๋‚˜๊ฐ„ ๊ณณ์„ ํ‘œ์‹œํ•  ๋•Œ ์ธ๋ฑ์Šค + 100 ํ•ด์ค€๋‹ค.

2๋ฒˆ ์ด์ƒ ์ง€๋‚˜๊ฐ€๋Š” ์ขŒํ‘œ์˜ ๊ฐ’์€ 2 ์ด์ƒ์ด ๋œ๋‹ค.

 

โœ๏ธ  ํ’€์ด

function solution(lines) {
  var answer = 0;

  let linesPassed = new Array(200);
  linesPassed.fill(0);

  for(let i=0; i<lines.length; i++){
    for(let j=lines[i][0]; j<lines[i][1]; j++){	// ์ฃผ์–ด์ง„ ์ขŒํ‘œ ์‹œ์ž‘๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ˆ๋‹ค.
        linesPassed[j+100]++;
      }
    }
  
  for(let i=0; i<linesPassed.length; i++){	// ์—ฌ๋Ÿฌ๋ฒˆ ์ง€๋‚œ ๊ณณ ํ™•์ธ
    if(linesPassed[i] >=2){
      answer++;
    }
  }

  return answer;
}