-
[프로그래머스 level.1] max, 반복되는 인덱스카테고리 없음 2023. 6. 20. 13:58
모의고사
function solution(answers) { const first = [1, 2, 3, 4, 5]; //5 const second = [2, 1, 2, 3, 2, 4, 2, 5]; // 8 const third = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]; //10 let scores = [0, 0 ,0] for (let i = 0; i < answers.length; i++) { if (first[i % 5] === answers[i]) {scores[0] ++}; if (second[i % 8] === answers[i]) {scores[1] ++}; if (third[i % 10] === answers[i]) {scores[2] ++}; } let answer = [] let max = Math.max(...scores) if (scores[0] === max) {answer.push(1)}; if (scores[1] === max) {answer.push(2)}; if (scores[2] === max) {answer.push(3)}; return answer; }
Math.max 값 안에 배열을 집어넣을 수 없다는 것을 다시 한번 기억하고 spread 함수 잘 써서 max 값 구하자
인덱스를 나누는 방식을 기억해 놓으면 좋을 것 같다 이거 은근 잘 써먹을 수 있을 지 않을까 생각이 든다
다 풀어놓고 보니까 반복문이랑 if문이 좀 많이 들어가서 filter함수나 삼항연산자와 && || 같은 애들로 리팩토링 하고 싶은 마음이 들다가 만다.