우리는 모두 다른 멋진 정렬 알고리즘을 알고 있지만, 발음하기 쉬운 방식으로 숫자를 제공하지는 않습니다. 이를 해결하기 위해 숫자 목록을 정렬하는 가장 자연스러운 방법 인 PronunciationSort ™를 사용하는 것이 좋습니다.
발음
숫자를 발음하는 공식 규칙 (이 문제에서)은 숫자가 하나씩 발음되고 결과 문자열이 사전 순서대로 정렬됩니다. 예를 들어, 이것은 숫자 845가 발음 "eight four five"되고 그에 따라 정렬되어야 함을 의미합니다 .
음수
음수는 단어 앞에 붙임으로써 발음됩니다 "minus". 따라서 -23로 발음됩니다 "minus two three". 이로 인해 4(4)와 9(9)로 시작하는 숫자 사이에서 출력 중간에 음수가 종료됩니다 .
GuideSort ™의 공식 단어 순서는 다음과 같습니다.
- 여덟
- 다섯
- 네
- 마이너스
- 아홉
- 하나
- 일곱
- 육
- 세
- 두
- 제로
그건,
8, 5, 4, -, 9, 1, 7, 6, 3, 2, 0
입력
최대 100 개의 요소를 포함하는 범위의 정수 목록입니다 . 문자열 목록으로 입력 할 수 없습니다. 언어가 목록으로 입력을 지원하지 않으면 입력을 별도의 정수로 제공 할 수 있습니다.
입력에 유효하지 않은 숫자 또는 0으로 시작하는 숫자가 포함되지 않습니다 (숫자 0 자체 제외). 입력은 일반적으로 정렬되지 않으며 임의의 순서로 제공 될 수 있습니다.
산출
PronunciationSort ™ 순서의 동일한 정수. 정렬을 위해서는 숫자를 발음으로 만 변환해야하며 출력에는 문자열이 포함되어서는 안됩니다.
예
예를 들어, 중간 단계 (괄호로 묶음)는 가이드 역할 만하며 출력의 일부가 아닙니다.
[1, 2, 3] -> (['one', 'two', 'three']) -> [1, 3, 2]
[-1, 0, 1, 2] -> (['minus one', 'zero', 'one', 'two']) -> [-1, 1, 2, 0]
[-100, 45, 96] -> (['minus one zero zero', 'four five', 'nine six']) -> [45, -100, 96]
[11, 12, 13, 134, 135] -> (['one one', 'one two', 'one three', 'one three four', 'one three five']) -> [11, 13, 135, 134, 12]