-
진료순서 정하기 (indexOf함수// map(a=>(a)복사// sort((a,b)=>b-a)오름차순 역배열)Coding Test/프로그래머스 Lv.0 2023. 6. 8. 20:35
나의 풀이
function solution(emergency) { var answer = []; emergency.sort((a,b)=> a-b) for(let i = 0 ; i < emergency.length ; i++){ answer = emergency[i] } return answer }
예를들어 emergency = [3, 76, 24] 넣으면. emergency.sort((a,b) => a-b) 통해서 숫자의 오름차순 (큰 숫자부터) 정렬됨
for문으로 배열해야 하는데 틀렸음.
indexOf 함수 활용. (괄호에 넣은 요소의 인덱스가 몇번째인지 알려줌) let arr = [2, 4, 6, 8, 10] arr.indexOf(4) = 1 (4는 첫번째 인덱스)
sort((a, b) => b-a) 배열의 큰수부터 작은수대로 역sort 사용
function solution (emergency){ let answer = []; let emergencyNum = emergency.map(a =>(a)); emergencyNum.sort((a,b) => b-a); // 76 24 3 for(let i = 0; i < emergency.length; i++){ let answerNum = emergencyNum.indexOf(emergency[i])+1 answer.push(answerNum); } return answer; } // emergency.map(a =>(a)) 을 사용하고 변수선언해서 emergency를 복사해서 씀. ex)예를들어보자. emergency = [37, 4, 26] => result는 [1, 3, 2]로 나와야 함. emergencyNum은 map 이후에 sort를 했으므로 emergencyNum = [37, 26, 4] emergencyNum.indexOf(emergency[i])+1 여기서 +1해주는 이유는 인덱스값은 0부터 시작하는데 result값이 1부터 시작하기 위함이며 indexOf 괄호에 emergencyNum.indexOf(emergency[0])+1 => emergencyNum.indexOf(37)+1 => 0+1 => 1 emergencyNum.indexOf(emergency[1])+1 => emergencyNum.indexOf(26)+1 => 2+1 => 3 emergencyNum.indexOf(emergency[2])+1 => emergencyNum.indexOf(4)+1 => 1+1 => 2 =[1, 3, 2] 이 것을 answer.push로 앞에서부터 하나씩 순차배열
'Coding Test > 프로그래머스 Lv.0' 카테고리의 다른 글
분수의 덧셈 (분모 분자 연산) (0) 2023.06.10 순서쌍의 개수. if문에 !가 들어가면, '만약 ~가 아니라면'의 뜻. (0) 2023.06.09 외계행성의 나이 (어려움, 이중배열, toString 문자열화) (0) 2023.06.08 프로그래머스 배열 자르기 (순서배열, 배열의 일부분 앞뒤자르기) (0) 2023.06.08 프로그래머스 - 각도기 (if문 여러개) (0) 2023.06.07