[프로그래머스 LV.0] (Javascript) 겹치는 선분의 길이

Hannah Lee·2023년 1월 4일
1

프로그래머스 LV.0

목록 보기
6/10

😎 링크

프로그래머스 - 겹치는 선분의 길이

😎 고려할 사항

  • -100≤범위≤100 안에 들어가게 될 선분들이 놓인 공간이 길이가 200인 배열이라고 생각하자.
  • 그니까 그림을 그려보면 이렇게 되는 거다 (겹친 부분은 주황색으로 표시)
  • 배열을 0으로 채운 뒤, 선분이 지나는 곳마다 +1을 해준다
  • 2 이상의 수로 채워진 부분 == 겹치는 부분

😎 소스코드

function solution(lines) {
  var answer = 0;
  let lineMap = new Array(200);  // 선분들이 놓일 공간
  lineMap.fill(0);

  for (let i = 0; i < 3; i++) {
    let left = lines[i][0];
    let right = lines[i][1];

    for (let j = left; j < right; j++) {
      lineMap[j + 100] += 1;
    }
  }

  for (let i in lineMap) {
    if (lineMap[i] > 1) {
      answer += 1;
    }
  }

  return answer;
}

😎 문법 정리

  • let newArr = []; 이 방법 뿐만 아니라, let newArr = new Array(배열길이);로도 배열 선언 및 할당 가능
  • .fill(원소): 해당 원소로 배열을 채운다
profile
프론트 어쩌고

1개의 댓글

comment-user-thumbnail
2023년 4월 5일

풀이 방법 잘 봤습니다! 감사합니다~

답글 달기