アルゴリズム-シミュレーション試験(フルナビゲーション)
7463 ワード
プログラマ-模擬試験(完全ナビゲーション)
長い間頭を働かすためにアルゴリズムを解いた
今日解決した問題は第1段階の模擬試験です.
正直、これは良い学習問題だとは思いません.ハードコーディングに似ています.
長い間頭を働かすためにアルゴリズムを解いた
今日解決した問題は第1段階の模擬試験です.
正直、これは良い学習問題だとは思いません.ハードコーディングに似ています.
説明する
function solution(answers) {
const answer = [];
// 찍는 방식을 기록한 객체로, 이 부분은 하드코딩 필수적이다.
const people = {
1: [1, 2, 3, 4, 5],
2: [2, 1, 2, 3, 2, 4, 2, 5],
3: [3, 3, 1, 1, 2, 2, 4, 4, 5, 5],
}
// 누가 몇 문제를 맞췄는지를 기록하는 객체를 만들었다.
const corret = {
1: 0,
2: 0,
3: 0,
}
// 2중 for문을 돌려서 퍼포먼스적으로는 좋지 않지만, 만약 사람이 추가 되었을때 위의 두 객체에 값들만 추가하면 된다.
for (const person in people) {
answers.forEach((answer, index) => {
// index % people[person].length는 만약 찍는 방식(배열)의 길이를 넘어가면 다시 찍는방식을 처음부터 탐색하게 하기위해 저렇게 코딩했다.
if(answer === people[person][index % people[person].length]) {
corret[person]++;
}
})
}
// 가장 높은 점수를 찾는다.
const maxValue = Math.max(...Object.values(corret));
// 가장 높은점수를 받은 사람을 answer 배열에 집어넣는다.
for (const key in corret) {
if (corret[key] === maxValue) {
answer.push(parseInt(key))
}
}
return answer;
}
Reference
この問題について(アルゴリズム-シミュレーション試験(フルナビゲーション)), 我々は、より多くの情報をここで見つけました https://velog.io/@pest95/Algorithm-모의고사완전탐색テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol