인프런 커뮤니티 질문&답변
선생님 코드가 맞는지 모르겠습니다.
작성
·
214
0
안녕하세요 선생님 강의 잘듣고있습니다.
저는 이렇게 이중포문으로 돌아봤는데 이게 맞는 코드인지를 모르겠습니다. 열심히 듣겠습니다!
function solution(times) {
let answer = 0;
let endpoint = 0;
const _t = [...times.map((el) => el.slice())];
_t.sort((a, b) => {
if (a[0] === b[0]) {
return a[1] - b[1];
} else return a[0] - b[0];
});
_t.forEach((el, index) => {
let count = 0;
if (index === 0) endpoint = el[1];
for (let i = index; i < _t.length; i++) {
if (endpoint > _t[i][0]) count++;
else {
if (count > answer) answer = count;
break;
}
}
});
return answer;
}
let arr = [
[14, 18],
[12, 15],
[15, 20],
[20, 30],
[5, 14],
];
console.log(solution(arr));
퀴즈
선택 정렬 알고리즘의 핵심 과정은 무엇일까요?
인접한 두 요소를 비교하여 순서가 맞지 않으면 교환합니다.
정렬되지 않은 부분에서 가장 작은 값을 찾아 정렬된 부분의 올바른 위치로 옮깁니다.
배열을 반으로 나누고 각 부분을 재귀적으로 정렬한 후 병합합니다.
하나의 요소를 정렬된 하위 배열의 올바른 위치에 삽입합니다.
답변 1
0
김태원
지식공유자
안녕하세요^^
반례입니다. 답은 3입니다.
let arr = [
[1, 3], [4, 8], [5, 9], [6, 10]
];
console.log(solution(arr));





