프로그래머스 코딩테스트 연습 <문자열 내 마음대로 정렬하기>
🔎 <문자열 내 마음대로 정렬하기>
📝 답안
코딩테스트 연습을 이제 막 시작해 부끄러운 수준의 내 답안과 다른 사람들의 답안을 확인해보자.
🚩 제출한 답안
function solution(strings, n) {
var answer = [];
answer = strings.sort((a, b) => {
if (a[n] !== b[n]) {
return a.charCodeAt(n) - b.charCodeAt(n);
} else {
return a.localeCompare(b);
}
});
return answer;
}
주어진 인덱스의 글자가 다른 경우 charCodeAt()
을 통해 해당 문자의 UTF-16 코드를 비교하고, 같은 경우에는 localeCompare()
로 사전순으로 정렬하는 콜백함수를 가진 sort()
메서드를 통해 정렬한다.
주요 활용 문법
charCodeAt()
, localeCompare()
, sort()
🚩 다른 사람 답안
localeCompare()
와 조건부 삼항 연산자를 활용한 답안
function solution(strings, n) {
// strings 배열
// n 번째 문자열 비교
return strings.sort((s1, s2) => s1[n] === s2[n] ? s1.localeCompare(s2) : s1[n].localeCompare(s2[n]));
// n번째 문자가 같으면, 해당 단어를 비교하고, 다르면 그 문자를 비교한다.
}
n
번째 문자가 같으면 단어를 비교하고, 다르면 해당 문자를 비교하게끔 조건부 삼항 연산자를 구성할 수 있다.
📌 공부할 점
localeCompare()
localeCompare()
localeCompare()
메서드는 기준 문자열과 비교했을 때 비교 대상 문자열이 정렬상 전에 오는지, 후에 오는지 혹은 같은 순서에 배치되는지를 알려주는 숫자를 반환하는데, 이를 통해 사전순으로 배열을 정렬할 수 있다.
조건부 삼항 연산자
조건부 삼항 연산자 조건 ? 참인 경우 : 거짓인 경우
를 활용하면 더 간결하게 코드를 구성할 수 있다.
Author And Source
이 문제에 관하여(프로그래머스 코딩테스트 연습 <문자열 내 마음대로 정렬하기>), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mini_vanta/프로그래머스-코딩테스트-연습-문자열-내-마음대로-정렬하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)