문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
메모
정답1을 정답2로 간소화할 수 있다. for문으로 반복해서 배열을 만들 수도 있지만, map을 써서 한 줄로 정리하는 게 가독성이 훨씬 높다. 2차원 배열에 map을 쓰는 건 처음이었다. 방법을 잘 봐두자.
정답
function solution(score) {
let sum = [];
for (let i = 0; i < score.length; i++) {
sum.push(score[i].reduce((a, b) => a + b));
}
let order = [...sum].sort((a, b) => b - a);
return sum.map(x => order.indexOf(x) + 1);
}
function solution(score) {
let sum = score.map(x => (x[0] + x[1]) / 2);
// sort는 원본을 변화시키므로 유의해야 함
let order = [...sum].sort((a, b) => b - a);
return sum.map(x => order.indexOf(x) + 1);
}