강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

노강표님의 프로필 이미지
노강표

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

9. 결혼식

결혼식- 정렬질문

작성

·

173

0

시작시간과 끝나는 시간을 [시간,'s'] [시간,'e']으로나누고 시간 및 e ,s 순으로 정렬하는 과정에있어서 질문드립니다.

아래와 같이 12,15 와 ,15,20이 떨어져있는상태에서도 정상적으로 정렬이되긴하는데 sort에 의해 정렬되는 원리가 이해가 안됩니다. sort가 인접인자를 비교하여 정렬하는 방식으로 이해하고있는데 해설처럼 if문을 안에 작성했을시엔 아래와같이 12,15 와 15,20이 떨어져있는상태에서는 15가 인접해있지않아  if문에 걸리는지 궁금합니다.

그래서우선 앞의 숫자를 기준으로 정렬을해준후, 이후에 sort문을 한번더 작성하여 그떄 인접한 시간을비교하여 s와e의 구분을하는 정렬을 실행해줘야하지않나 생각됩니다.. 

let arr = [
[14, 18],
[12, 15],
[15, 20],
[20, 30],
[5, 14],
];

퀴즈

66%나 틀려요. 한번 도전해보세요!

선택 정렬 알고리즘의 핵심 과정은 무엇일까요?

인접한 두 요소를 비교하여 순서가 맞지 않으면 교환합니다.

정렬되지 않은 부분에서 가장 작은 값을 찾아 정렬된 부분의 올바른 위치로 옮깁니다.

배열을 반으로 나누고 각 부분을 재귀적으로 정렬한 후 병합합니다.

하나의 요소를 정렬된 하위 배열의 올바른 위치에 삽입합니다.

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

시작시간과 끝시간의 입력형태를  [시간, "s"또는 "e"] 형태로 자료를 변형한 후 이 자료를 정렬 것입니다.

정렬기준은 시간순이며 시간이 같으면 e가 먼저고 s가 나중으로 정렬되도록 한 것입니다.

노강표님의 프로필 이미지
노강표

작성한 질문수

질문하기