프로그래머스 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]
를 빈 배열answer
에push
해준다.
strings
배열중에n
번째 문자만 들어있는 배열answer
를 정렬해준다.
answer
에서 중복이 되는 문자를 제거한다. -> 뒤에 반복문에서 같은 글자라면 전부 읽어오기 때문이중반복문을 바깥쪽 반복문은
i
가 0부터answer
의 길이까지, 안쪽 반복문은 'j'가 0부터strings
의 길이까지 반복한다.만약
strings[j][n]
이answer[i]
와 글자가 똑같다면strings[j]
문자열을 빈 배열result
에push
해준다.그리고
result
를 return 한다.