프로그래머스

[JavaScript] 피자 나눠 먹기(1) - 프로그래머스

jjangsh 2024. 7. 18. 20:54

문제 :

 

 

 

내 풀이 :

function solution(n) {
    let pizza = 1;
    
   for(let i = 1; i <= 100; i++) {
       if(i * 7 / n >= 1) {
        pizza = i;
           break;
       }
   }
    return pizza;
}

 

 

피자의 초깃값을 1로 선언해두고, 반복문을 이용해 반복 변수 i를 피자 조각 개수 나누기 사람 수를 했을 때 1보다 크거나 같을 때 피자 판 수를 i개로 바꾸도록 하고 반복문을 정지시켰다.

 

i 를 100보다 작거나 같을 때까지 반복 시킨 이유는 문제에서 주어진 제한사항이 사람 수는 100명보다 작거나 같다고 되어있기 때문이었다.

 

통과는 했지만 만족스럽지 않았기에 다른 사람의 풀이를 보았다.

 

 

다른 사람의 풀이 :

function solution(n) {
    return Math.ceil(n / 7)
}

 

너무 간단하게 풀어버려서 힘이 풀렸다.

 

나도 나중에 써먹기 위해 Math.ceil()을 검색해보았다.

 

Math.ceil() : 입력받은 숫자보다 크거나 같은 정수 중 가장 작은 정수를 리턴한다.

즉, 입력받은 숫자를 올림한 정수를 리턴하는 함수다.(음수 포함)

 

Math.ceil(1.222 * 10) / 10; 의 결과는 1.3
Math.ceil(1.222 * 100) / 100; 의 결과는 1.23

Math.ceil(1222 / 10) * 10; 의 결과는 1230
Math.ceil(1222 / 100) * 100; 의 결과는 1300

 

또한, Math.ceil()을 이용하여 위의 예시와 같이 소수점 아래에서 값을 올리거나 10단위, 100단위에서 올림을 처리 할 수 있다.