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

728x90
반응형

input :  string ["sun", "bed", "car"]   /  n (1)

output : ["car", "bed", "sun"]

 

1. 내가 푼 풀이 (+강의 참고)

function solution(strings, n) {
    let arr=[];
    let answer = [];
    
    strings.forEach(x =>{
        x = x.charAt(n) + x;
        arr.push(x);
    });
    
    arr.sort();
    
    for( let i = 0 ; i< arr.length; i++){
        arr[i] = arr[i].replace(arr[i][0],"");
        answer.push(arr[i]);
    }
    
    return answer;
}

* charAt(n) : n번째 인덱스의 글자 출력

* 정렬기준글자 + 원래 문자 > 정렬 > 정렬기준글자 삭제

 

2. 강의 풀이

function solution(strings, n) {
    let result = [];

		// 문자열 가장앞 글자 붙인 문자 배열 만들기
    for (let i = 0; i < strings.length; i++) {
      strings[i] = strings[i][n] + strings[i];
    }

		// 문자열 사전순 정렬
    strings.sort();

		// 앞글자 제거 후 리턴
    for(let j = 0; j < strings.length; j ++) {
      strings[j] = strings[j].replace(strings[j][0],"");
      result.push(strings[j]);
    }

    return result;
}

* 정렬기준글자 + 원래 문자 > 정렬 > 정렬기준글자 삭제

*  sun -> 1번요소 : u : strings[0][1]

 

 

 

 

[출처]

1. 프로그래머스

2. 스파르타 코딩 JS 문법 종합밥 2주차

반응형