문제
외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.
해결 과정
제대로 풀리지 않아 구글링을 통해서 풀었다. for문 내부의 코드를 이해하는데 시간이 꽤 걸렸다.
emergencyCopy를 선언한 이유는 emergency를 내림차순으로 만든뒤 변수를 복사하기 위해서 이다.
answer에는 값들을 저장하기 위해 빈 배열로 만들었다.
for문을 상용해 emergency의 길이만큼 반복했을때 이제 answer에 push를 하는 것이다.
emergency[i]+1을 한 이유는 배열은 0부터 시작하기에 1을 더한다.
그리고 이제 그와 관련된 숫자가 나오면 인덱스를 적혀지는 방식이다.
새롭게 알게된 점📝
indexOf에 관한 설명이다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
Array.prototype.indexOf() - JavaScript | MDN
Array 인스턴스의 indexOf() 메서드는 배열에서 주어진 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고, 찾을 수 없는 경우 -1을 반환합니다.
developer.mozilla.org
정답
function solution(emergency) {
// 배열을 내림차순으로 정렬
let emergencyCopy = [...emergency].sort((a, b) => b - a);
let answer = []; // 결과를 저장할 빈 배열
for (let i = 0; i < emergency.length; i++) {
// 정렬된 배열에서 각 요소의 인덱스를 찾아 1을 더한 후 answer에 배열 추가
answer.push(emergencyCopy.indexOf(emergency[i]) + 1);
}
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/120835
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'⌨️ 프로그래머스 > 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] #33 개미군단 구하기 🐜 | JS (0) | 2024.06.04 |
---|---|
[프로그래머스] 순서쌍의 개수 | JS (0) | 2024.06.03 |
[프로그래머스] 외계행성의 나이 👽 | JS (0) | 2024.05.31 |
[프로그래머스] 짝수의 합 ➕ (0) | 2024.02.27 |
[프로그래머스] 각도기 📐 (0) | 2024.02.23 |