JS>[Programmers]模擬試験
1379 ワード
問題の説明
数学は数学を放棄する人の略語である.
「囚人3人組」は模擬試験で数学の問題を全部撮りたいと思っている.最初の問題から最後の問題まで、執胞子は以下の通りである.
1番捕手の撮り方:1,2,3,4,5,1,2,3,4,5...
2番捕手の撮り方:2、1、2、3、2、4、2、5、2、2、3、2、4、2、5...
3番捕手の撮り方:3,3,1,1,2,2,4,5,5,3,3,1,2,2,4,5,5...
最初の問題から最後の問題までの正解が順番に並んでいる場合は、最も多くの質問に答えた人が誰なのか、答えを並べて返すように解答関数を書いてください.
せいげんじょうけん
試験には最大10000問が含まれている.
質問の答えは1 2 3 4 5のうちの1つです.
点数が一番高い人が何人かいる場合は、戻った値を昇順に並べてください.
問題を解く
function solution(answers) {
let firstMan = [1, 2, 3, 4, 5];
let secondMan = [2, 1, 2, 3, 2, 4, 2, 5];
let thirdMan = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
let count = [0, 0, 0];
for (let i = 0; i < answers.length; i++) {
if (firstMan[i % firstMan.length] === answers[i]) count[0]++;
if (secondMan[i % secondMan.length] === answers[i]) count[1]++;
if (thirdMan[i % thirdMan.length] === answers[i]) count[2]++;
}
let max = Math.max(...count);
let result = [];
for (let i = 0; j < count.length; i++) {
if (count[j] === max) {
result.push(j + 1);
}
}
return result;
}
問題の説明
被験者の答えを1つの列に並べ,正しい答え数を計算するためにcountを並べた.
質問用紙を各順序の被験者の答えと比較した後,count配列に対応するインデックスの値を増やした.
次に、カウントの最大値をmacに保存し、結果値を含む結果を宣言します.
正解を昇順に並べて、インデックスが0から始まるので+1を与えます.
Reference
この問題について(JS>[Programmers]模擬試験), 我々は、より多くの情報をここで見つけました https://velog.io/@bueong/JS-Programmers-모의고사テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol