숫자 배열이 주어졌을때 각 숫자의 크기 순서가 담긴 배열을 리턴하는 것이다. 만약 [1, 72, 10] 이 주어졌다면 [3, 1, 2] 를 리턴해야 한다.
나는 아래와 같이 풀었다
1) 주어진 배열을 slice 로 얕은 복사 후, sort로 큰 순서대로 정렬
2) 정렬한 배열을 반복문 돌면서 크기 순위를 객체에 기록
3) 본래 주어진 배열을 map 돌면서 2번의 객체에서 각 요소의 크기 순위를 찾아 담은 배열을 리턴
이렇게 해도 맞긴 하지만 좀 더 간단하게 푸는 방법이 있었다. 주어진 배열을 slice 후 정렬하는 것까진 똑같다. 그 후에 주어진 배열을 map을 돌면서 정렬된 배열에서 각 요소가 몇 번째 index에 있는지 indexOf를 사용해 찾은 다음 거기에 1을 더해서 리턴하는 방법이다.
반응형
'알고리즘 문제 풀이' 카테고리의 다른 글
[TIL] JavaScript 알고리즘 100일 챌린지 29번째 도전 🥹 (0) | 2023.06.14 |
---|---|
[TIL] JavaScript 알고리즘 100일 챌린지 28번째 도전 (0) | 2023.06.04 |
[TIL] Javascript 알고리즘 100일 챌린지 25번째 도전 (0) | 2023.05.28 |
[TIL] 🤞Javascript 알고리즘 100일 챌린지 24번째 도전 (0) | 2023.05.26 |
[TIL] Javascript 알고리즘 100일 챌린지 23번째 도전 (0) | 2023.05.25 |