728x90
[Javascript] (프로그래머스 level 1) 문자열 내 마음대로 정렬하기
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이
function solution(strings, n) {
return strings.sort((a, b) => {
if (a[n] === b[n]) {
return a > b ? 1 : -1;
} else {
return a[n] > b[n] ? 1 : -1;
}
});
}
- 숫자로 된 소팅은 a-b 만 하면 되었는데, 문자는 어떻게 하는지 모르겠더라. 검색해서 이리저리 찾아보고 겨우 해결했다. 숫자가 a-b 이었던 이유도 a>b하면 (0이상, 0, 0이하) 로 나뉘기 때문이었는데, 이걸 정확하게 이해하지 않고 넘어가니 문자로 넘어왔을 때 해결을 못했다.
- 이거 아쉬운게 java에도 comparable interface가 있고, 이거 이용해서 소팅하는 방식이 있는데, 그 때도 대충 넘겼더니 javascript에 와서도 쓸데없이 검색하는 시간을 가졌다. 물론 필요할 때 찾아 공부하는게 맞는 방식이지만 너무 내가 대충 넘기나? 하는 생각도 하게 되었다.
- 이런 기초적인 것들을 문제를 통해 훑어보게 해주는 프로그래머스는 참 좋은 플랫폼인듯 👍
다른 사람 풀이
function solution(strings, n) {
// strings 배열
// n 번째 문자열 비교
return strings.sort((s1, s2) => s1[n] === s2[n] ? s1.localeCompare(s2) : s1[n].localeCompare(s2[n]));
}
- localeCompare()라는 메서드가 있는지 몰랐음 😭😭 참 유용한 메서드가 많다.
배운 점, 느낀 점
- 알고리즘이랄게 딱히 없는 기본문제에서도 배울게 굉장히 많다.
- 문제가 참 좋다.
'Coding Test > JavaScript' 카테고리의 다른 글
[Javascript] (프로그래머스 level 1) 모의고사 (0) | 2022.06.30 |
---|---|
[Javascript] (프로그래머스 level 1) 체육복 (0) | 2022.06.30 |
[Javascript] (프로그래머스 level 1) 실패율 (0) | 2022.06.30 |
[Javascript] (프로그래머스 level 1) 비밀 지도 (0) | 2022.06.30 |
[Javascript] (프로그래머스 level 1) 소수 찾기 (0) | 2022.06.30 |
[Javascript] (프로그래머스 level 1) 예산 (0) | 2022.06.30 |
[Javascript] (백준 9046) 복호화 (0) | 2022.06.30 |
[Javascript] (백준 4673) 셀프 넘버 (0) | 2022.06.29 |
댓글