본문 바로가기
알고리즘/프로그래머스

[프로그래머스] 문자열 내 마음대로 정렬하기 (JavaScript)

by gardenii 2024. 1. 17.

[프로그래머스] 문자열 내 마음대로 정렬하기 (JavaScript)

https://school.programmers.co.kr/learn/courses/30/lessons/12915

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(strings, n) {
    return strings.sort((a, b) => {
        const charA = a[n];
        const charB = b[n];

        if (charA === charB) {
            return a.localeCompare(b);
        }

        return charA.localeCompare(charB);
    });
}

코드 해설

- 입력받은 문자열을 sort()함수를 사용하여 정렬 

- sort() 함수에서 비교 중인 두 문자열 a, b의 n번째 문자를 각각 charA, charB로 저장

- charA와 charB를 비교하여 같으면, a.localeCompare(b)를 통해 반환된 값을 기준으로 strings의 문자열들을 특정 인덱스의 알파벳이 아닌 전체적으로 정렬

- 이 때 localeCompare()함수 또한 sort()를 통해 정렬되는 동안 함께 정렬됨

- charA와 charB가 같지 않을 경우에는 charA.localeCompare(charB)를 통해 반환된 값을 기준으로 문자열 정렬

 

** chatGPT 참고

** sort()와 localeCompare() 함수 개념

2024.01.17 - [기타/ChatGPT 정리] - [Javascript] ChatGPT 질의응답 - sort(), localCompare() 함수 정리

 

[Javascript] ChatGPT 질의응답 - sort(), localCompare() 함수 정리

Q. sort함수와 localCompare함수의 동작 방식에 대해 각각 설명해주고, 두 함수의 차이점과 주로 사용되는 상황에서의 예시를 들어줘 A. sort() 함수의 동작 방식 정의와 기본 동작 : Array.prototype.sort()는

jwc406.tistory.com