728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/42884
문제 풀이 방법
- 이 문제는 수학적으로 접근해야 하는 문제인거 같다...
- 우선 주어지는 차량의 진입, 나간 지점을 진입한 지점을 기준으로 정렬해준다.
- 그리고 첫번째 나가는 지점의 기준을 잡아준다(첫번째 차량의 나가는 지점)
- 이렇게 잡은 기준을 가지고 다음에 오는 차량의 나가는 점을 비교해준다.
여기서 이전 차량의 나가는 점이 다음 차량이 나가는 점보다 큰 경우,
즉 이전 차량이 더 나중에 나가는 경우에는 다음에 노는 차량에서 카메라 설치를 해야하는지 여부를
측정하기 어렵기 때문에 처음 기준을 잡은 나가는 점을 다음 차량의 나가는 점으로 해준다. - 자세한 설명은 아래의 링크를 참고하자.....
나도 해매다 설명이 잘 되어있어서 가져왔다......
세상에는 코딩을 잘하는 사람은 많고 많다....
코드
function solution(routes) {
const sortedArr = routes.sort((a, b) => a[0] - b[0]);
let cnt = 1;
let out = sortedArr[0][1];
for(let i=1; i<sortedArr.length; i++){
if(out < sortedArr[i][0]){
cnt += 1;
out = sortedArr[i][1];
}
else if (out > sortedArr[i][1]){
out = sortedArr[i][1];
}
}
return cnt;
}
728x90
'코딩 테스트 > 프로그래머스 코딩 테스트 연습' 카테고리의 다른 글
[JS] 1Level / 연습문제 / 푸드 파이트 대회 (0) | 2023.08.17 |
---|---|
[JS] 3Level / 2018 KAKAO BLIND RECRUITMENT / [1차] 캐시 (0) | 2023.07.18 |
[JS] 2Level / 연습문제 / 행렬의 곱셈 (0) | 2023.07.10 |
[JS] 2Level / 2019 KAKAO BLIND RECRUITMENT / 오픈체팅방 (0) | 2023.06.30 |
[JS] 2Level / 월간 코드 챌린지 시즌2 / 괄호 회전하기 (0) | 2023.06.27 |