알고리즘

[알고리즘 문제] 문자열 내 마음대로 정렬하기

youjeong_choi 2022. 11. 23. 21:01

 

 

내가 푼 정답

function solution(strings, n) {
    var answer = [];
    var temp = [];
    
    strings.map((value) => (temp.push(value[n])))
    temp.sort()
    strings.sort()
    
    for (const i of temp) {
        for (const x in strings) {
            if (i === strings[x][n]) {
                answer.push(strings[x])
                strings.splice(x, 1)
                break
        }
    } }
    
    return answer;
}

strings를 sort()를 하여 단어들을 오름차순으로 만든 상태에서 temp에 있는 것과 같을 때, push하였다. push후에 splice로 방금 push한 것을 strings에서 없애줌으로써 연속적으로 temp에서 같은 문자가 나올 때 중복이 되지 않도록 하였다. 핵심은 strings를 sort()하여 오름차순으로 만드는 것과 splice를 사용하여 중복을 방지하는 것이다.