-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexam.js
More file actions
56 lines (47 loc) · 1.57 KB
/
exam.js
File metadata and controls
56 lines (47 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// 모의고사
// 실패
// 사유 : 최대 정답자가 아닌 부분에 undefined가 출력
function solution(answers) {
let maxAnswers = []; // 최대 정답자
let scores = [0, 0, 0]; // 맞은 개수
let a = [ // 수포자의 찍는 방법 패턴
[1, 2, 3, 4, 5], // 5
[2, 1, 2, 3, 2, 4, 2, 5], // 8
[3, 3, 1, 1, 2, 2, 4, 4, 5, 5] // 10
];
for (let i=0; i<answers.length; i++) {
a[0][i % 5] === answers[i] ? scores[0]++ : false;
a[1][i % 8] === answers[i] ? scores[1]++ : false;
a[2][i % 10] === answers[i] ? scores[2]++ : false;
}
let max = Math.max(...scores); // 최고 점수
return scores.map((v, i) => {
if (max ===v) {
return i+1;
}
})
}
// 정답
function solution(answers) {
let maxAnswers = []; // 최대 정답자
let scores = [0, 0, 0]; // 맞은 개수
let a = [ // 수포자의 찍는 방법 패턴
[1, 2, 3, 4, 5], // 5
[2, 1, 2, 3, 2, 4, 2, 5], // 8
[3, 3, 1, 1, 2, 2, 4, 4, 5, 5] // 10
];
for (let i=0; i<answers.length; i++) {
a[0][i % 5] === answers[i] ? scores[0]++ : false;
a[1][i % 8] === answers[i] ? scores[1]++ : false;
a[2][i % 10] === answers[i] ? scores[2]++ : false;
}
let max = Math.max(...scores); // 최고 점수
scores.map((v, i) => max === v ? maxAnswers.push(i+1) : false);
return maxAnswers;
}
let test1 = [1, 2, 3, 4, 5];
// return [1]
let test2 = [1, 3, 2, 4, 2];
// return [1, 2, 3]
console.log('test1', solution(test1));
console.log('test2', solution(test2));