[プログラマー]キャッチャー
16367 ワード
JavaScriptの小関数の使用
Psunほど簡単には成功しない呼び出されたメソッドを関数として定義するプロシージャが必要です.
昇順ソート
sortobj.sort((a,b) => {
return b[1] - a[1]
})
降順配列はa,bの順序を変えることができる.完全なソースコード
function solution(answers) {
function supo1(idx) {
if (idx % 5 == 0) {
return 1
} else if (idx % 5 == 1) {
return 2
} else if (idx % 5 == 2) {
return 3
} else if (idx % 5 == 3) {
return 4
} else if (idx % 5 == 4) {
return 5
}
}
function supo2(idx) {
if (idx % 2 == 0) {
return 2
} else {
if (idx % 8 == 1) {
return 1
} else if (idx % 8 == 3) {
return 3
} else if (idx % 8 == 5) {
return 4
} else return 5
}
}
function supo3(idx) {
if (idx % 10 == 0 || idx % 10 == 1) {
return 3
} else if (idx % 10 == 2 || idx % 10 == 3) {
return 1
} else if (idx % 10 == 4 || idx % 10 == 5) {
return 2
} else if (idx % 10 == 6 || idx % 10 == 7) {
return 4
} else return 5
}
var answers = answers
var answer = [];
var checkbox = { 1: 0,2: 0,3: 0 }
answers.forEach((a, idx) => {
if (a == supo1(idx)) {
checkbox[1]++
}
if (a == supo2(idx)) {
checkbox[2]++
}
if (a == supo3(idx)) {
checkbox[3]++
}
})
var sortobj = []
for (var number in checkbox) {
sortobj.push([number, checkbox[number]])
}
sortobj.sort((a,b) => {
return b[1] - a[1]
})
var maxResult = sortobj[0][1]
sortobj.forEach(arr => {
if (arr[1] == maxResult) {
answer.push(Number(arr[0]))
}
})
answer.sort((a,b) => {return b[1]-a[1]})
return answer;
}
Reference
この問題について([プログラマー]キャッチャー), 我々は、より多くの情報をここで見つけました https://velog.io/@unani92/프로그래머스-수포자-yac3pffmテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol