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

 

프로그래머스

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

programmers.co.kr

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

string 안에 단어로 이루어진 배열이 들어가고 n은 몇 번째 낱말이 오름차순으로

앞에 오느냐를 판단한다.

 

도저히 못 풀겠어서 답을 봤는데 공식이었다.

a b 둘 중 b가 크다고 하면 return -1 

a가 크면 return 1 

함수를 빠져나가면 놀랍게도 오름차순 형태의 배열이 완성된다.

이거는 공식으로 외어야 풀 수 있겠구나 싶었다.

물론 다른 방식으로 풀 순 있지만 생각이 안 났다.

+ Recent posts