🫠 Programmers (level 0)
👉🏻 문제 54번 (등수 매기기) : 이차원배열에서 각 배열의 평균값을 구해 등수를 매기는 문제(공동 2위인 경우, 둘 다 3등으로 처리)
function solution(score) {
// 평균값 받을 배열 생성
let arr = []
// 각 배열의 평균값 계산
score.map((item) => {
arr.push((item[0] + item[1])/2)
})
// slice()를 통해 arr 복사 후, 내림차순 정렬
let result = arr.slice().sort((a,b) => b-a)
// indexOf()를 통해 위치값으로 등수 매기기
return arr.map((item) => result.indexOf(item) + 1)
}
✅ 확인할 점
💡 slice()를 통해 원본을 훼손하지 않는다는 특징을 활용하여 arr를 복사하였다.
💡indexOf()를 사용하여 해당 배열 요소의 위치를 찾고 +1을 해서 등수값을 매겼다.
💡indexOf()는 배열에서 앞쪽부터 순차적으로 찾기 때문에 뒤에 같은 점수가 있어도 앞쪽 위치값을 반환한다는 점을 이용했다.
'프로그래머스 풀이' 카테고리의 다른 글
[Programmers] level 1) 문제 '짝수와 홀수' 풀이 (0) | 2023.05.01 |
---|---|
[Programmers] level 0) 문제 '종이 자르기' 풀이 (0) | 2023.04.03 |
[Programmers] level 0) 문제 꿀팁 중간 정리(2) (0) | 2023.03.17 |
[Programmers] level 0) 문제 꿀팁 중간 정리(1) (0) | 2023.03.17 |