Javascript/코딩테스트-연습

[JavaScript] 개미군단 - 프로그래머스

BeomBe 2024. 3. 25. 14:32
반응형

문제 설명

최소한의 병력값을 구하면 된다.

 

나의 풀이

while이나 다른 코드를 사용하는것보다 직관적으로 for문을 사용하는 것이 더 편리할거라 판단했다.

function solution(hp) {
    var answer = 0;
    let remain = 0;
    
    if(hp/5 > 0){
        answer = answer + parseInt(hp/5);
        remain = hp%5;
        
        if(remain/3 > 0){
            answer = answer + parseInt(remain/3);
            remain = remain%3;
        }
        
        if(remain > 0){
            answer = answer + remain;
        }
    }
    else if(hp/3 > 0){
        answer = answer + parseInt(hp/3);
        remain = remain%3;
        
        if(remain > 0){
            answer = answer + remain;
        }
    }
    else{
        answer = answer + hp;
    }
    return answer;
}

 

제출하고 보니 너무 긴 것 같아 다른 방식으로 해결하는 풀이도 필요할것같았다.

 

생각해보니 for문은 필요가 없었다. 나머지를 활용해서 한줄로 마무리 했다...

function solution(hp) {
    return parseInt(hp/5) + parseInt((hp%5)/3) + parseInt((hp%5)%3)
}
반응형
댓글수24