https://programmers.co.kr/learn/courses/30/lessons/12915#
프로그래머스는 설명이 참 어려운거 같다.
문제는 쉬운 문제인데...
- strings는 길이 1 이상, 50이하인 배열입니다.
- strings의 원소는 소문자 알파벳으로 이루어져 있습니다.
- strings의 원소는 길이 1 이상, 100이하인 문자열입니다.
- 모든 strings의 원소의 길이는 n보다 큽니다.
- 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.
상위의 마지막 제한사항을 보면
" 사전순으로 앞선 문자열이 앞쪽에 위치합니다"
이 의미를 지정된 n index 이후의 글자를 비교해서 사전 정렬을 하라는 건지, index 앞쪽의 chars를 통해 정렬 하라는 건지, 이해가 안갔다.
최소한 테스트 케이스에 이 부분이 설명가능한 정보가 있었어야 한다고 생각한다.
마지막 제한 사항은 다음과 같다.
- 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 단어 전체의 사전 순으로 정렬한다.
function solution(strings, n) {
return strings.sort((a,b)=> {
if(a == b) return 0;
let aCode = a.charCodeAt(n);
let bCode = b.charCodeAt(n);
if(aCode < bCode) return -1;
else if(bCode < aCode) return 1;
if(aCode == bCode){
if(a < b) return -1;
else if(a > b) return 1;
return 0
}
}
);
}
728x90
반응형
'Problem Solving' 카테고리의 다른 글
문자열 내림차순으로 배치하기 (0) | 2020.09.03 |
---|---|
문자열 내 p와 y의 개수 (0) | 2020.09.03 |
두 정수 사이의 합 그리고 테스트케이스 4번 7번 9번 (0) | 2020.09.03 |
나누어 떨어지는 숫자 (0) | 2020.09.03 |
같은 숫자는 싫어 (0) | 2020.09.03 |