문제링크
https://programmers.co.kr/learn/courses/30/lessons/42840
코딩테스트 연습 - 모의고사
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는
programmers.co.kr
코드
function solution(answers) {
let answer = [];
let supo = [
[1, 2, 3, 4, 5],
[2, 1, 2, 3, 2, 4, 2, 5],
[3, 3, 1, 1, 2, 2, 4, 4, 5, 5],
];
let score = [];
for (let i = 0; i < supo.length; i++) {
let result = 0;
for (let j = 0; j < answers.length; j++) {
supoAnswers = supo[i][j % supo[i].length];
if (answers[j] === supoAnswers) {
result++;
}
}
score.push(result);
}
for (let i = 0; i < score.length; i++) {
if (score[i] === Math.max(...score)) {
answer.push(i + 1);
}
}
return answer;
}
문제풀이
- 수포자가 찍는 방식을 배열로 만든다 >> 수포자의 수 만큼 for문을 돌린다
- 인덱스의 값(예시>>[1,2,3,4,5])이 반복 되므로 5로 나눈 인덱스 값을 sudoAnwers에 넣고 정답과 비교하면 result 값을 구한다
- 수포자들의 맞는 개수를 score 배열에 넣고 최고점과 같을 경우 answer에 넣는다
- answer을 반환(return)한다
'알고리즘 > 문제풀이' 카테고리의 다른 글
10주차 알고리즘 풀이 (0) | 2021.10.23 |
---|---|
이진트리) Maximum Depth of Binary Tree [js] (0) | 2021.08.27 |
프로그래머스) K번째 수 Javascript (0) | 2021.08.20 |
hash(level2) - 위장 (0) | 2021.08.14 |
완주하지 못한 선수 JS, javascript (0) | 2021.08.14 |