반응형
문자열 내 마음대로 정렬하기
[https://programmers.co.kr/learn/courses/30/lessons/12915]출처
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다.
다른 사람의 코드
function solution(strings, n) {
return strings.sort((s1, s2) => s1[n] === s2[n] ? s1.localeCompare(s2) : s1[n].localeCompare(s2[n]));
}
다른 사람의 코드2
function solution(strings, n) {
return strings.sort((a, b) => {
const chr1 = a.charAt(n);
const chr2 = b.charAt(n);
if (chr1 == chr2) {
return (a > b) - (a < b);
} else {
return (chr1 > chr2) - (chr1 < chr2);
}
})
}
본인 코드
function solution(strings, n) {
return strings.sort((a,b)=>{
if(a[n] > b[n] || a[n] === b[n] && a > b){
return 1
}else{
return -1
}
})
}
새로 알게 된 사실
localeCompare
문자열의 순서를 비교해서 음수 , 양수를 return 한다.
(a > b) - (a < b)
boolean 값 을 연산할 수 있다.
true 는 1로 false 0 으로 변환 된다.
반응형
'개발관련' 카테고리의 다른 글
Android Kotlin 안드로이드 코틀린 AlertDialog Dismiss 설정하기 ( Alert 콜백 처리) (0) | 2021.05.28 |
---|---|
IOS 앱 개발할때 테스트 시 테스트 플라이트( TestFlight )로 테스트 하는 방법 (0) | 2021.04.16 |
Mobx 심화 mobx의 reactions 종류 autorun, reaction, when (0) | 2021.03.28 |
MobX Modifiers란? observable shallow,ref,deep (0) | 2021.03.27 |
[프로그래머스] 소수 구하기 (JavaScript) (0) | 2020.08.27 |