Algorithm | 체육복 (탐욕법)

권기현·2021년 4월 22일
0

Algorithm

목록 보기
15/20

📍첫번째 시도

function solution(n, lost, reserve) {
    let answer = 0;
   
    let studentArr = new Array(n).fill(1);    // 전체학생
    for(let i=1; i<=n; i++){ // lost,reserve 학생들의 소유 옷 개수 세팅
        if(lost.includes(i)){
            studentArr[i]--;
        } 
      if(reserve.includes(i)){
            studentArr[i]++;
        }
    }
    
    for(let i=0; i<n; i++){
        if(studentArr[i] === 0 && studentArr[i+1]===2){
            studentArr[i] +=1;
            studentArr[i+1] -=1;
        }
        if(studentArr[i] ===2 && studentArr[i+1]===0 ){
            studentArr[i] -=1;
            studentArr[i+1] +=1;
        }
    }
    
    for(let i=0; i<n; i++){
        if(studentArr[i]===1){
            answer++;
        }
    }
    
    return answer;
}

📍두번째 시도

function solution(n, lost, reserve) {
    let answer = n;
   
    let studentArr = new Array(n).fill(1);    // 전체학생
    for(let i=1; i<=n; i++){ // lost,reserve 학생들의 소유 옷 개수 세팅
        if(lost.includes(i)){
            studentArr[i-1]--;
        } 
      if(reserve.includes(i)){
            studentArr[i-1]++;
        }
    }
    
    for(let i=0; i<n; i++){
        if(studentArr[i] === 0 && studentArr[i+1]===2){
            studentArr[i] +=1;
            studentArr[i+1] -=1;
        }
        if(studentArr[i] ===2 && studentArr[i+1]===0 ){
            studentArr[i] -=1;
            studentArr[i+1] +=1;
        }
    }
    
    
    for(let i=0; i<n; i++){
        if(studentArr[i]===0){
            answer--;
        }
    }
    
    return answer;
}

"lost,reserve 학생들의 소유 옷 개수 세팅" 하는 부분에서 인덱스 값을 잘못 설정하였다.

profile
함께 일하고 싶은 개발자를 목표로 매일을 노력하고, 옷을 좋아하는 권기현 입니다.

0개의 댓글