이 스택 오버플로 질문에서 영감을 얻었습니다 . 목록 정렬 : 오름차순 숫자, 내림차순 문자 . 당신의 임무는 다음과 같은 문제를 해결하는 것입니다. 이것이 code-golf 이므로 가능한 적은 바이트로 해결해야합니다.
당신은 입력 문자를 포함하는 등 개체의 목록이 소요됩니다 (합리적인 형태 : string
, char
, 등)와 숫자를. 그런 다음 숫자를 오름차순으로 정렬하고 문자를 내림차순으로 정렬해야합니다. 그러나 문자를 문자 위치에, 숫자를 숫자 위치에 유지해야합니다. 예를 들어 목록이 다음과 같은 경우
[L, D, L, L, D, L]
출력 목록은 다음과 같은 형식이어야합니다.
[L, D, L, L, D, L]
작업
입력: ['a', 2, 'b', 1, 'c', 3]
- 숫자를 오름차순으로 정렬하십시오.
[1, 2, 3]
- 문자를 내림차순으로 정렬하십시오.
['c', 'b', 'a']
- 다시 가입하지만 순서는 동일하게 유지하십시오.
['c', 1', 'b', 2, 'a', 3]
규칙
- 목록에는 문자와 숫자 만 포함됩니다.
- 목록이 비어있을 수 있습니다.
- 목록에는 문자 또는 숫자 만 포함될 수 있습니다.
- 경우에 언어가 혼합 된 형태의 배열을 지원하지 않는 대신 숫자의 숫자 문자를 사용할 수 있습니다. 언어가이를 지원하는 경우 혼합 유형을 사용해야합니다.
- 글자는
[a-z]
또는 만 될 것입니다[A-Z]
, 당신은 어느 것을 선택할 수 있습니다. - 문자는
a
가장 낮은 것으로 정렬됩니다 (z
예 :)a = 1, z = 26
. - 표준 허점 은 금지되어 있습니다.
- I / O는 문자열을 포함한 모든 표준 수단 일 수 있습니다.
테스트 사례
[5, 'a', 'x', 3, 6, 'b'] -> [3, 'x', 'b', 5, 6, 'a']
[ 3, 2, 1] -> [ 1, 2, 3 ]
[ 'a', 'b', 'c' ] -> [ 'c', 'b', 'a' ]
[] -> []
[ 2, 3, 2, 1 ] -> [1, 2, 2, 3]
이것이 코드 골프 이므로 바이트 단위의 최단 답변이 이깁니다!