Today I Learend
- Programmers 문제 풀기
- 내일배움캠프 오프라인 모각지!
Programmers 문제 풀기
문자열 내림차순으로 배치하기
나의 풀이
function solution(s) {
let upperCase = [];
let lowerCase = [];
s.split("").forEach((str) => str !== str.toUpperCase() ? lowerCase.push(str) : upperCase.push(str))
return lowerCase.sort().reverse().join("") + upperCase.sort().reverse().join("");
}
대문자인 경우와 소문자인 경우로 나눠서 배열에 push한 후에 sort, reverse 메서드와 join메서드를 이용해서 정렬한 후 다시 문자열로 변환했다.
다른 사람의 풀이 01
function solution(s) {
return s.split("").sort().reverse().join("")
}
음 그냥 sort 메서드가 알아서 소문자와 대문자까지 나눠서 정렬해주는 거였구나 ㅎㅎ 이렇게 새로 배워간다....
다른 사람의 풀이 02
function solution(s) {
return s.split('').sort((a, b) => {
if (a > b) return -1;
if (b > a) return 1;
return 0;
}).join('');
}
reverse 메서드를 사용하지 않고 sort 메서드만으로 정렬 조건을 설정할 수 있다.
function compare(a, b) {
if (a is less than b by some ordering criterion) {
return -1;
}
if (a is greater than b by the ordering criterion) {
return 1;
}
// a must be equal to b
return 0;
}
sort 메서드의 compare 함수 형식
회고
오늘은 저녁에 서울에 가서 스파르타 오프라인 행사에 참여해야하기 때문에 오전에 프로그래머스 문제 하나만 풀었다. 깃헙 잔디깔기랑 TIL 작성 완료👍
'알고리즘 > Programmers' 카테고리의 다른 글
[TIL] 2023.03.26 Programmers 문제 풀기 (3) | 2023.03.26 |
---|---|
[TIL] 2023.03.25 Programmers 문제 풀기 (0) | 2023.03.26 |
[TIL] 2023.03.23 Programmers 문제 풀기 (0) | 2023.03.23 |
[TIL] 2023.03.22 Programmers 문제 풀기, 인텔리픽 모의면접 후기 (0) | 2023.03.22 |
[TIL] 2023.03.21 Programmers 문제 풀기 (0) | 2023.03.21 |
댓글