문제 링크: 프로그래머스 - 완전탐색 > 모의고사
def grade(nums, answers):
cnt = 0
i = 0
for answer in answers:
if nums[i] == answer:
cnt += 1
i += 1
if i == len(nums):
i = 0
return cnt
def solution(answers):
result = []
nums1 = [1, 2, 3, 4, 5]
nums2 = [2, 1, 2, 3, 2, 4, 2, 5]
nums3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
result.append(grade(nums1, answers))
result.append(grade(nums2, answers))
result.append(grade(nums3, answers))
mx = max(result)
idx = result.index(mx)
ret = [idx + 1]
for i in range(len(result)):
if result[i] == mx and i != idx:
ret.append(i + 1)
return ret
function scoring(person, answers){
let j = 0;
let result = 0;
for (let i in answers){
if (answers[i] == person[j]) result++;
j++;
if (j >= person.length) j = 0;
}
return result;
}
function solution(answers) {
var scores = [];
var answer = [];
const person1 = [1, 2, 3, 4, 5];
const person2 = [2, 1, 2, 3, 2, 4, 2, 5];
const person3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
for (let person of [person1, person2, person3]){
scores.push(scoring(person, answers));
}
let maxVal = Math.max(...scores);
for (let i in scores){
if (scores[i] == maxVal){
answer.push(parseInt(i) + 1);
}
}
return answer;
}