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

정승옥(seungok)·2020년 11월 17일
0

프로그래머스

목록 보기
10/40

문제설명

  • 문자열로 구성된 배열 strings를 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬

제한사항

  • strings는 길이 1이상 50이하인 배열
  • strings의 원소는 소문자 알파벳, 길이 1이상 100이하인 문자열로 구성
  • strings의 원소의 길이는 n보다 큼
  • 인덱스 1의 문자가 같은 문자열이 여럿일 경우 사전순으로 앞선 문자열이 앞쪽에 위치

풀이

function solution(strings, n) {
    let answer = [];
    
    strings.sort((a,b)=>{
        const first = a[n];
        const second = b[n];
        if(first === second)
            return (a>b)-(a<b);
        else
            return (first>second)-(first<second)
    })
    answer = strings;
    return answer;
}

체크포인트

  • sort()이용
  • 1) 문자열은 산술연산자가 아닌 비교연산자로 비교
  • 2) return (a>b)-(a<b)
    : -1인 경우(a를 b보다 작은 인덱스로 정렬)
    : 0인 경우(a와 b의 순서를 바꾸지 않음)
    : 1인 경우(b를 a보다 작은 인덱스로 정렬)
  • 숫자 인경우
    : return a-b(오름차순 정렬)
    : return b-a(내림차순 정렬)
profile
Front-End Developer 😁

0개의 댓글