본문 바로가기

알고리즘 공부

[js] 모의고사

 

못 푼 문제

 

풀이 해석

 

function solution(answers) {
  let soopo1=[1, 2, 3, 4, 5];
  let soopo2=[2, 1, 2, 3, 2, 4, 2, 5];
  let soopo3=[3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
  
  // 정답수를 카운터 해줄 count 배열 만들기
  let count=[0, 0, 0];
  
  for(let i = 0; i<answers.length; i++){
    if(soopo1[i % soopo1.length] === answers[i]){
        count[0]++;
    };

    if(soopo2[i % soopo2.length] === answers[i]){
        count[1]++;
    };

    if(soopo3[i % soopo3.length] === answers[i]){
        count[2]++;
    };
  };
  
  // count를 올려준 배열들을 최대치 max를 만들어준다
  let max = Math.max.apply(null,count);
  let result=[];
  
  // count 배열 for loop을 돌면서 최대치 값 max와 같을 때 
  // result에 i는 0부터 시작하니까 +1을 더해서 result에 넣어준 뒤 반환
  for(let j = 0; j < count.length; j++){
      if(count[j] === max){
        result.push(j+1);
      };
    };

  return result;
};

'알고리즘 공부' 카테고리의 다른 글

배열의 삭제  (0) 2020.02.13
[js] 완주하지 못한 선수  (0) 2019.12.10
[js] K번째의 수  (0) 2019.12.09
[js] 가운데 글자 가져오기  (0) 2019.12.09
유튜브 클론 강의 복습  (0) 2019.12.03