본문 바로가기
코딩테스트/LV. 1

LV. 1 :: 모의고사

by KUROMI98 2023. 1. 30.

https://school.programmers.co.kr/learn/courses/30/lessons/42840

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(answers) 
{
    var supoja1 = "";
    var supoja2 = "";
    var supoja3 = "";
    
    for (i=0; i<answers.length/5; i++) {supoja1 += "12345";}
    for (i=0; i<answers.length/8; i++) {supoja2 += "21232425";}
    for (i=0; i<answers.length/10; i++) {supoja3 += "3311224455";}
    
    supoja1 = supoja1.slice(0, answers.length);
    supoja2 = supoja2.slice(0, answers.length);
    supoja3 = supoja3.slice(0, answers.length);
    
// ------------------------------------------------------------------
    
    var answers_string = answers.join('');
    
// ------------------------------------------------------------------
    
    var point1 = 0;
    
    for(i=0; i<supoja1.length; i++)
    {
        if (supoja1[i]==answers_string[i])
        {
            point1++;
        }
    }
    // 5, 2, 3
    
    
    var point2 = 0;
    
    for(i=0; i<supoja2.length; i++)
    {
        if (supoja2[i]==answers_string[i])
        {
            point2++;
        }
    }
    // 0, 2, 1
    
    
    var point3 = 0;
    
    for(i=0; i<supoja3.length; i++)
    {
        if (supoja3[i]==answers_string[i])
        {
            point3++;
        }
    }
    // 0, 2, 2
    
    var arr = [point1, point2, point3];
    // [5,0,0], [2,2,2], [3,1,2]
    
// ------------------------------------------------------------------
    
    var answer = [];
    
    var max = Math.max(...arr);
    
    for (i=0; i<3; i++)
    {
        if (arr.indexOf(max)==-1){break;} // 이걸 써줘야됨
        answer.push(arr.indexOf(max)+1);
        arr.splice(arr.indexOf(max), 1, -1);
    }
    
    return answer;
}

'코딩테스트 > LV. 1' 카테고리의 다른 글

LV. 1 :: 예산  (0) 2023.01.31
LV. 1 :: K번째 수  (0) 2023.01.31
LV. 1 :: 크레인 인형뽑기 게임  (0) 2023.01.30
LV. 1 :: 신규 아이디 추천  (0) 2023.01.30
LV. 1 :: 실패율  (0) 2023.01.30

댓글