Thief of Wealth

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

 

코딩테스트 연습 - 문자열 내 마음대로 정렬하기

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1�

programmers.co.kr

 

로직만 보면 간단하다. 하지만 많은 사람들이 알수없는 이유로 테케를 통과하지 못하는데.. 

다음은 에러가 뜨는 코드이다.

 

function solution(strings, n) {
    strings.sort( (a,b)=>{
        if(a[n]>b[n]){
            return true;
        }else if(a[n] === b[n]){
            if(a>b){
                return true;
            }
        }
        return false;
    })
    
    console.log(strings)
    
    return strings;
}

 

다음은 정답코드이다.

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

 

 

정렬에서는 true, false처럼 1,0 값이 아닌 1,-1 값으로 해주는것이 좋다.

profile on loading

Loading...