문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수,
solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
https://school.programmers.co.kr/learn/courses/30/lessons/12917?language=javascript
말그대로 문자열을 내림차순으로 정렬하는 문제다.
아무래도 알고리즘을 C++로만 공부해왔기에 C++로는 아무 생각없이 풀었다...
하지만 자바스크립트로는 아무리 해도 풀리지 않는 것이다...! 😂😂😂
처음 시도했던 방법)
s.sort((a,b) => (b - a))
...
의 형식으로 풀면 정렬이 되지 않을까? 해서 열심히 코딩을 했는데 실패했다.
✋ sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환하기 때문!
따라서 문자열에 직접적으로 sort()를 쓰는 건 올바르지 않은 형식이었다...
최종 답안)
function solution(s) {
return [...s].sort().reverse().join("");
}
더보기
1. 문자열을 배열로 바꾸기 - [...s]
2. 정렬한 - sort()
3. 역순으로 배치 - reverse()
→ 아스키 코드에서 소문자가 대문자보다 더 큰 값을 지니고 있기 때문에 다른 조치 없이 역순으로 배치.
4. 다시 문자열로 바꾸기 - join("")
솔직히 자바스크립트 문법이 아직 익숙하지 않다...
그래도 힘내서 자바스크립트의 기초 문법부터 차근차근 다시 공부해보자!!! 💪💪💪
'Algorithm' 카테고리의 다른 글
디펜스 게임 (Programmers Lv.2) (2) | 2024.10.02 |
---|---|
두 큐 합 같게 만들기 (Programmers Lv.2) (0) | 2024.09.11 |
삼각달팽이 (Programmers Lv.2) (0) | 2024.09.11 |
다리를 지나는 트럭 (Programmers Lv.2) (0) | 2024.09.11 |
롤케이크 자르기 (Programmers Lv.2) (0) | 2024.09.11 |