๐Ÿ’› 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๋Š” ๊ทธ ๋ฐฐ์—ด ์ž์ฒด๋ฅผ ๋ฐ›๋Š”๋‹ค.