๐ JavaScript/ํ๋ก๊ทธ๋๋จธ์ค
[JS]์์ ํ์-๋ชจ์๊ณ ์ฌ
Jayden1116
2022. 6. 5. 21:29
function solution(answers) {
const lengthAns = answers.length;
const first = [1, 2, 3, 4, 5];
const second = [2, 1, 2, 3, 2, 4, 2, 5];
const third = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
const firstAns = new Array(Math.ceil(lengthAns / first.length))
.fill(first)
.flat();
const secondAns = new Array(Math.ceil(lengthAns / second.length))
.fill(second)
.flat();
const thirdAns = new Array(Math.ceil(lengthAns / third.length))
.fill(third)
.flat();
let countFirst = 0;
let countSecond = 0;
let countThird = 0;
for (let i = 0; i < lengthAns; i++) {
if (answers[i] === firstAns[i]) {
countFirst++;
}
if (answers[i] === secondAns[i]) {
countSecond++;
}
if (answers[i] === thirdAns[i]) {
countThird++;
}
}
let answer = [];
let temp = [countFirst, countSecond, countThird];
let countMax = Math.max(...temp);
for (let i = 0; i < 3; i++) {
if (temp[i] === countMax) {
answer.push(i + 1);
}
}
return answer;
}
๋ญ๊ฐ ๊น๋ํ ํ์ด๋ ์๋๋ค...ใ ๊ณต์๋ฌธ์๋ฅผ ๋ณด๋ฉด์ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ฌ๋ฌ ํจ์๋ค์ ์ด์ฉํด๋ณด๋ ค ํ๋ค๋ณด๋ ๋ค์ ๋ณต์กํด์ง๋ ๊ฒ ๊ฐ๋ค.
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;
}
filter๋ฅผ ๋ฐฐ์ด์ value๋ง ์ด์ฉํ์๋๋ฐ, ์ด๋ ๊ฒ index๊น์ง ํ์ฉํ ์ ์๋์ง ์ฒ์ ์์๋ค ใ
ใ
ใ
๊ณต์๋ฌธ์๋ฅผ ๋ณด๋ฉด Array.prototype.filter((value, index, arr) => {}) ์ ํํ๋ก ์ธ ์ ์๋๋ฐ,
value๋ ๋ฐฐ์ด์ ๊ฐ, index๋ ๋ฐฐ์ด์ ์ธ๋ฑ์ค, arr๋ ๊ทธ ๋ฐฐ์ด ์์ฒด๋ฅผ ๋ฐ๋๋ค.