학습
시험

배열 정렬

난이도
BEGINNER

문제 설명

길이가 2인 정수 배열 원소로 이루어진 배열 numbers가 주어질 때, 아래의 기준에 따라 정렬한 결과를 반환하는 solution 함수를 작성하시오.

  • 각 원소의 첫 번째 값을 기준으로 오름차순 정렬합니다.
  • 만약 첫 번째 값이 같다면, 두 번째 값의 절댓값을 기준으로 오름차순 정렬합니다.
  • 만약 두 번째 값의 절댓값까지 모두 같다면, 기존 순서를 유지하며 정렬합니다.

제한 사항

  • numbers의 길이는 2 이상 20 이하입니다.
  • numbers의 각 원소는 길이가 2인 정수 배열입니다. 각 정수는 -100 이상 100 이하입니다.
  • numbers에는 중복되는 원소가 없습니다.

예시 테스트케이스 설명

테스트케이스 번호 numbers return
1 [[3,4],[2,-5],[3,-1],[1,7]] [[1,7],[2,-5],[3,-1],[3,4]]
2 [[-1,2],[-1,-3],[0,5],[0,-4]] [[-1,2],[-1,-3],[0,-4],[0,5]]
3 [[5,-6],[3,2],[5,6],[2,1]] [[2,1],[3,2],[5,-6],[5,6]]

1번 테스트케이스 설명

  • numbers=[[3,4],[2,-5],[3,-1],[1,7]]인 경우:
    1. 첫 번째 값을 기준으로 오름차순 정렬하면, 중간 결과는 [[1,7],[2,-5],[3,4],[3,-1]]입니다.
    2. 첫 번째 값이 같은 [3,4]와 [3,-1]을 두 번째 값의 절댓값을 기준으로 정렬합니다.
    3. 최종 정렬 결과는 [[1,7],[2,-5],[3,-1],[3,4]]입니다.

2번 테스트케이스 설명

  • numbers=[[-1,2],[-1,-3],[0,5],[0,-4]]인 경우:
    1. 첫 번째 값을 기준으로 오름차순 정렬하면, 중간 결과는 [[-1,2],[-1,-3],[0,5],[0,-4]]입니다.
    2. 첫 번째 값이 같은 [-1,2]와 [-1,-3]을 두 번째 값의 절댓값 기준으로 정렬합니다.
    3. 또한, 첫 번째 값이 같은 [0,5]와 [0,-4]를 두 번째 값의 절댓값 기준으로 정렬합니다.
    4. 최종 정렬 결과는 [[-1,2],[-1,-3],[0,-4],[0,5]]입니다.

3번 테스트케이스 설명

  • numbers=[[5,-6],[3,2],[5,6],[2,1]]인 경우:
    1. 첫 번째 값을 기준으로 오름차순 정렬하면, 중간 결과는 [[2,1],[3,2],[5,-6],[5,6]]입니다.
    2. 첫 번째 값이 같은 [5,-6]과 [5,6]을 두 번째 값의 절댓값 기준으로 정렬합니다.
    3. 하지만, [5,-6]과 [5,6]은 두 번째 값의 절댓값이 모두 6으로 같습니다. 따라서, 기존 순서를 그대로 유지합니다.
    4. 최종 정렬 결과는 [[2,1],[3,2],[5,-6],[5,6]]입니다.