function solution(emergency) {
let cnt =1;
const arr = new Array(emergency.length);//emergency배열과 동일 크기의 arr배열을 만든다.
for(let i=0; i<emergency.length; i++){
const max = Math.max(...emergency);
const index =emergency.indexOf(max)
arr[index]=cnt//index는 emergency배열 중에서 최대값이 자리하고 있는 장소이다. 그러면arr의 해당index에 1등을 준다.
cnt++; // 2등을 주기위한 준비 작업
emergency[index]=0 //emergency의 원소는 1부터 100까지이므로 최대값이 있던 자리는 0으로 만들어서
//최대값 seaching에서 제외시킨다.
}
return arr //순위가 선정된 배열을 반환한다.
}
▶ emergency와 동일한 크기의 배열 arr을 만들어 준다.
▶ emergency에서 최대값을 구하고, 최대값을 구했다면, 그 최댓값의 index자리에는 0을 채워준다.
▶ 더 이상 최대값이 아닌 값으로 만들어 주기 위해서 최댓값이 있던 index자리에 0을 넣어주는 것이다.
▶ emergency의 index에 해당하는 arr의 동일 index에 등수를 매겨 준다.
▶ 순위가 매겨진 arr을 반환한다.
'프로그래머스(자바스크립트) > LV.0(자바스크립트)' 카테고리의 다른 글
숨어있는 숫자의 덧셈(2) → 아이디어가 매우 중요 + split (0) | 2023.03.01 |
---|---|
한번만 등장한 문자 → 정규식 이용 문자 제거 + indexOf() + lastIndexOf() 콜라보 ★ (0) | 2023.03.01 |
k의 개수 → number타입을 String타입으로 변환 (0) | 2023.03.01 |
가까운 수 → sort를 오버라이딩 + key와 value형태로 저장 안해도 된다!!! (0) | 2023.03.01 |
2차원으로 만들기 → 배열자르기slice + for문 이용시 step 건너뛰기 (0) | 2023.03.01 |