์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์ ๋๋ค. ์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์ํฌ์๋ 1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง ๋ค์๊ณผ ๊ฐ์ด ์ฐ์ต๋๋ค.
1๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
2๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
3๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...
1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง์ ์ ๋ต์ด ์์๋๋ก ๋ค์ ๋ฐฐ์ด answers๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๋ง์ ๋ฌธ์ ๋ฅผ ๋งํ ์ฌ๋์ด ๋๊ตฌ์ธ์ง ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
function solution(answers) {
let arr = [[], [], []];
let num = ['12345','21232425','3311224455']
let highScore = 0;
let result = [];
for (let i = 0; i < arr.length; i++) {
let score = 0;
while (arr[i].length < answers.length) {
arr[i]=[...arr[i],...num[i]];
if (arr[i].length > answers.length) {
arr[i].splice(answers.length, arr[i].length - 1);
}
}
for (let j=0; j<answers.length; j++){
if (+arr[i][j]===answers[j]){
score++
}
}
if (score > highScore){
highScore = score;
result = [i+1];
} else if (score === highScore){
result.push(i+1);
}
}
return result;
}
๋ฐฐ์ด์ answers์ length๋งํผ ์ฐ์ ์ซ์๋ค์ ๋ฐ๋ณตํด์ ๋ฃ์ด์ฃผ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ณต๋ฌธ์ ํตํด ์ ๋ต์ผ ๊ฒฝ์ฐ ์ ์๋ฅผ ๋ํ๊ณ , ๊ฐ์ฅ ๋์ ์ ์์ธ ์ฌ๋์ result ๋ฐฐ์ด์ ๋ฃ์ด์ฃผ์๋ค.
๋์ ์๊ฐ๋๋ก ํ๊ธฐ๋ ํ์์ผ๋ ์๋นํ ๊ฐ๋
์ฑ์ด ๋จ์ด์ง๋ค... ๋๋ฌธ์ ๋ค๋ฅธ ์ฌ๋์ ํ์ด๋ ๊ฐ์ ธ์๋ค.
function solution(answers) {
var answer = [];
var a1 = [1, 2, 3, 4, 5];
var a2 = [2, 1, 2, 3, 2, 4, 2, 5]
var a3 = [ 3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
var a1c = answers.filter((a,i)=> a === a1[i%a1.length]).length;
var a2c = answers.filter((a,i)=> a === a2[i%a2.length]).length;
var a3c = answers.filter((a,i)=> a === a3[i%a3.length]).length;
var max = Math.max(a1c,a2c,a3c);
if (a1c === max) {answer.push(1)};
if (a2c === max) {answer.push(2)};
if (a3c === max) {answer.push(3)};
return answer;
์ฌ์ค ์ธ์์ด ๋ ๋์ด๋ ์๋ก ์ข์ง ๋ชปํ ์ฝ๋๊ฐ ๋์ง๋ง, ์ดํดํ๊ธฐ๊ฐ ๋งค์ฐ ์ฝ๊ณ ๊ฐ๋จํด์ ๊ฐ์ ธ์๋ค.
1์ฃผ์ฐจ๋ JavaScript๋ฅผ ๋ณต์ตํ๋ ๊ฐ์์๋ค.