논리적 사고

AI가 목록을 정렬한 뒤 원래 순서를 다시 읽을 수 있을까요?

[12, 3, 8]을 작은 수부터 정렬한 뒤 원본을 다시 읽습니다. 결과가 똑같아 보여도 원래 순서가 남는 방법은 따로 있습니다.

숫자 비교 정렬에서 sort의 같은 배열 참조와 toSorted의 별도 배열을 비교한 도해
숫자 비교 정렬에서 sort의 같은 배열 참조와 toSorted의 별도 배열을 비교한 도해
그림 크게 열기 ↗SVG 저장

그림에서 무엇을 볼까요?

숫자 비교 정렬에서 sort의 같은 배열 참조와 toSorted의 별도 배열을 비교한 도해

AI에게 학생이 답을 낸 순서 [12, 3, 8]을 보여 주고, 작은 수부터 정렬한 목록도 만들어 달라고 합니다. 나중에 처음 답한 번호를 확인하려면 두 순서가 모두 필요합니다. 변수 이름 하나를 더 붙여 두면 충분할까요?

실습에서 sort와 숫자 오름차순을 선택하면 결과는 [3, 8, 12]입니다. ‘실행 후 원본’도 [3, 8, 12]가 됩니다. 자바스크립트의 sort()는 호출한 배열 안에서 순서를 바꾼 다음 같은 배열을 돌려줍니다. 결과에 새 이름을 붙여도 그 이름은 같은 배열을 가리킵니다.

함께 확인할 점

숫자 비교 함수 유무와 메서드를 각각 바꾸어 원본과 결과를 나란히 표시합니다.

생각해 볼 질문

정렬 결과 하나만 보고 원본 보존까지 확인할 수 없는 이유를 변수와 배열의 관계로 설명해 보세요.

← 논리적 사고 그림 더 보기