문제 🔽
https://school.programmers.co.kr/learn/courses/30/lessons/84512
다른사람 풀이 🔽
function solution(strings, n) {
var answer = [];
strings.sort((a,b)=>{
if(a[n]>b[n]){
return 1
} else if(b[n]>a[n]){
return -1
} else if(a[n]==b[n]){
if(a>b){
return 1
} else if(a<b){
return -1
} else{
return 0
}
}
})
return strings
}
내풀이🔽
1. 성공 ⭕
function solution(strings, n) {
var answer = [];
// Set 이용하여 중복 없이 다 담음
let set = new Set()
strings.forEach((val)=>{
set.add(val[n])
})
// Set -> Array 변환 후 정렬
let t = Array.from(set).sort()
t.forEach((val)=>{
let p = strings.filter((string)=> string[n]===val).sort()
answer.push(...p)
})
return answer;
}
느낀점🔽
굳이 set 안쓰고 sort만을 이용해서 풀어도 됐을 듯 싶다
console.log("a">"b") // false
console.log("a"<"b") // true
를 이용하면 사전에서 뒤쪽에 나오는 순으로 sorting 할 수 있다.
'Javascript' 카테고리의 다른 글
프로그래머스 코딩테스트 풀이(js) > 땅따먹기(lv2) (0) | 2023.08.03 |
---|---|
프로그래머스 코딩테스트 풀이(js) > 같은 숫자는 싫어(lv1) (0) | 2023.08.02 |
프로그래머스 코딩테스트 풀이(js) > 모음사전(lv2) (0) | 2023.07.31 |
프로그래머스 코딩테스트 풀이(js) > [1차]캐시(lv2) (0) | 2023.07.30 |
프로그래머스 코딩테스트 풀이(js) > 최소직사각형(lv1) (0) | 2023.07.29 |