[프로그래머스] Lv.1 문자열 내 마음대로 정렬하기

Miro·2022년 8월 9일
0
post-thumbnail

프로그래머스 Lv.1 문자열 내 마음대로 정렬하기

문제, 제한 사항, 입출력

나의 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function solution(strings, n) {
    let answer = [];
    let result = [];
    strings.sort();
    
    for(let i = 0; i < strings.length; i++) {
        answer.push(strings[i][n]);
    }
    
    answer.sort();
    answer = Array.from(new Set(answer));
    
    for(let i = 0; i < answer.length; i++) {
        for(let j = 0; j < strings.length; j++) {
            if(strings[j][n] === answer[i]) {
                result.push(strings[j]);
            }
        }
    }
    
    return result;
}
cs

먼저 배열 strings를 정렬해준다. -> n번째 숫자가 같을때 순서를 정하기 위한 작업

반복문을 i가 0부터 strings의 길이까지 반복한다.
strings[i][n]를 빈 배열 answerpush 해준다.

strings 배열중에 n번째 문자만 들어있는 배열 answer를 정렬해준다.

answer에서 중복이 되는 문자를 제거한다. -> 뒤에 반복문에서 같은 글자라면 전부 읽어오기 때문

이중반복문을 바깥쪽 반복문은 i가 0부터 answer의 길이까지, 안쪽 반복문은 'j'가 0부터 strings의 길이까지 반복한다.

만약 strings[j][n]answer[i]와 글자가 똑같다면 strings[j] 문자열을 빈 배열 resultpush 해준다.

그리고 result를 return 한다.

profile
프론트엔드 개발자(진)

0개의 댓글