728x90
반응형
(1) 내 풀이
function solution(answers) {
let answer =[]
let math1 =[1, 2, 3, 4, 5]
let math2 =[2, 1, 2, 3, 2, 4, 2, 5]
let math3 =[3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
let cnt =[0,0,0]
for (let i =0 ; i<answers.length; i++){
if(math1[i%math1.length]==answers[i]) cnt[0] ++
if(math2[i%math2.length]==answers[i]) cnt[1] ++
if(math3[i%math3.length]==answers[i]) cnt[2] ++
}
let max = Math.max(cnt[0], cnt[1], cnt[2]);
if (cnt[0] === max) answer.push(1);
if (cnt[1] === max) answer.push(2);
if (cnt[2] === max) answer.push(3);
return answer
}
*문제 : answers= [1,2,3,4,5] => return [1]
1. 수포자123의 답 = math1[i%math1.length] === answer[i] 를 비교
(배열의 인덱스를 [ i % 배열의 길이] 로 사용하기)
2. cnt 각각에 값을 증가시키면 [5,0,0] 이 나옴
3. Math.max를 사용해서 3가지 중에 가장 큰 값을 구하기
4. cnt와 최대값이 같다면 answer 배열에 끝에 넣기
끝.
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스 | javascript] 같은 숫자는 싫어 (스택) (0) | 2024.04.27 |
---|---|
[프로그래머스 | javascript] 네트워크(dfs) : 재귀함수 사용 (0) | 2024.04.21 |
[프로그래머스 | javascript] 타켓넘버 (dfs) : 재귀함수 사용 (0) | 2024.04.21 |
[프로그래머스 | javascript] 의상 (해시) (1) | 2024.04.18 |
[프로그래머스 | javascript] K번째수 (정렬) (0) | 2024.04.13 |