Programmers | #2
8099 ワード
問題の説明
数学は数学を放棄する人の略語である.「囚人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つです.
点数が一番高い人が何人かいる場合は、戻った値を昇順に並べてください.
I/O例
私の答え
function solution(answers) {
test1 = [1,2,3,4,5]
test2 = [2,1,2,3,2,4,2,5]
test3 = [3,3,1,1,2,2,4,4,5,5]
result=[0,0,0]
for (i=0; i<answers.length; i++) {
if(answers[i] === test1[i % 5]){
result[0]++
} if (answers[i] === test2[i % 8]){
result[1]++
} if(answers[i] === test3[i % 10]){
result[2]++
}
}
answer = []
first = Math.max(...result)
if (result[0] === first) {answer.push(1)}
if (result[1] === first) {answer.push(2) }
if (result[2] === first) {answer.push(3)}
return answer
}
他人の解答を見てコメントする
私と差が少ない人が多い.filter()で解いた人もいました.
もう一度filter()を復習しましょう.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
Reference
この問題について(Programmers | #2), 我々は、より多くの情報をここで見つけました https://velog.io/@hi-yjs/Programmers-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol