문제
https://programmers.co.kr/learn/courses/30/lessons/42840
풀이
function solution(arr) {
const 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 answer = [];
let points = [0,0,0];
for(let i = 0; i<3; i++){
for(let j = 0; j < arr.length; j++) {
if(arr[j] === supo[i][j % supo[i].length]) points[i]++;
}
}
const max = Math.max(...points);
for(let i = 0; i < points.length; i++){
if(max===points[i]) answer.push(i+1);
}
return answer.sort((a,b)=>a+b);
}
let answers = [1,2,3,4,5];
console.log(solution(answers));
- 초반에 supo 배열을 1차원 배열로 만들어 풀려고 하니, 반복되는 코드도 많이 생기고 동작되지도 않아서 2차원 배열로 바꿨다.
'Algorithm & 자료구조 > 알고리즘 w.JavaScript' 카테고리의 다른 글
[알고리즘] 백준 2525번: 오븐 시계 W_node.js (0) | 2022.04.24 |
---|---|
[알고리즘] 백준 2884번: 알람 시계 W_node.js (2) | 2022.04.21 |
[알고리즘] 백준 11723번: 집합 (비트마스크) W_node.js (0) | 2022.03.22 |
[알고리즘] 비트마스크 Bit Mask (0) | 2022.03.20 |
[알고리즘] 백준 9095번: 1, 2, 3 더하기 (완전탐색,재귀) W_node.js (0) | 2022.03.16 |