Q) 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
나의 풀이
function solution(strings, n) {
let answer = strings.sort((a,b) => {
if (a[n] > b[n]) return 1;
if (a[n] < b[n]) return -1;
if (a[n] === b[n]) {
if (a > b) return 1;
if (a < b) return -1;
return 0;
}
})
return answer
}
- 일단 문자열에서 바로 인덱스 대입하여 n번째 문자를 찾을 수 있다는 건 어제 자바스크립트를 공부하며 알았다,,! 이걸 몰랐으면 못풀었을 수도 ...ㅠ
- 비교하기위해 sort를 사용 => strings.sort((a,b) => {}
- n번째 있는 값을 if문으로 비교
- n번째 있는 값이 같다면 그 문자 자체로 비교