JavaScript/Coding_Problems

프로그래머스(입문)_개미군단

yunajoe 2023. 1. 23. 10:55

첫번째 시도

function solution(hp) {
    let answer=0;
    let first = 5; 
    let second = 3; 
    let third = 1; 
    if(hp < third){ // hp가  0일때는 
        answer = 0;
    }else{
        while(hp >=first){           
            hp = parseInt(hp / first);
            answer += hp;             
        }
        if(second <= hp && first > hp){
          while(hp >=second){
             hp = parseInt(hp / second); 
             answer += hp;            
            }             
        }       

   }  
   return answer   
}

 

두번째시도

 

// 다른풀이  
function solution(hp) {
    // 나머지가 0일될까지 .. 나누면 됨 
    var answer = 0;
    let king = 5; 
    let solider = 3; 
    let worker = 1;     
    let original_hp = hp;
    let r;
    var answer;
    if(hp>=king){
        while(hp >= king){
            hp = Math.floor( hp / king)
            r  =  original_hp % king   
            answer += hp
        }
        if(hp >=solider){
          while(hp >=solider){
              hp = Math.floor(hp / solider)
              r  = r % solider 
              answer += hp  
          }
          if(hp>=worker){
            while(r !==0){
            hp = Math.floor(hp / worker) 
            r = r % worker 
            answer += hp             
             }              
          }         
        }            
      }
      return answer          
    }

정확성: 19.4
합계: 19.4 / 100.0