Javascript/문제 풀이

프로그래머스 4일차

아라라_ 2023. 5. 21. 22:57

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

Frederick Philips Brooks
Mythical Man-Month 저자
728x90

피자 나눠 먹기1

머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.

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

피자를 일곱 조각으로 자르고, 피자를 나눠먹을 사람의 수 n이 주어졌을 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 계산하여 반환하는 함수입니다.

n을 7로 나눈 후 올림 처리합니다. (Math.ceil 함수를 사용하여 소수점 이하를 올림합니다.)
이렇게 함으로써, n명의 사람이 모든 사람이 한 조각 이상의 피자를 먹기 위해서는 총 몇 개의 피자가 필요한지 계산됩니다.
예를 들어, n이 10인 경우, 10명의 사람이 모든 사람이 한 조각 이상의 피자를 먹기 위해서는 10/7의 결과를 올림한 2개의 피자가 필요합니다.
예를 들어, n이 15인 경우, 15명의 사람이 모든 사람이 한 조각 이상의 피자를 먹기 위해서는 15/7의 결과를 올림한 3개의 피자가 필요합니다.
따라서, Math.ceil(n / 7)을 통해 필요한 피자의 수를 계산하고, 이 값을 반환합니다.
코드는 주어진 n명의 사람이 한 조각 이상의 피자를 먹기 위해 필요한 피자의 수를 계산하여 반환합니다.

 

 

피자 나눠먹기2

머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

function solution(n) {
    let pizza = 6;
    while (pizza % n !== 0) {
        pizza += 6
    } return pizza / 6
}

피자를 여섯 조각으로 잘라주는 피자가게에서 피자를 나눠먹을 사람의 수 n이 주어졌을 때, 모든 사람이 같은 수의 피자 조각을 먹을 수 있도록 최소한으로 필요한 피자 판 수를 계산하여 반환하는 함수입니다.

pizza 변수를 6으로 초기화합니다. 이 변수는 현재 주문해야 하는 피자의 조각 수를 나타냅니다.
pizza % n !== 0인 동안 반복합니다. 즉, n명이 같은 수의 피자 조각을 먹을 수 없는 경우까지 반복합니다.
pizza % n은 현재 피자 조각 수를 n으로 나눈 나머지를 계산합니다.
만약 나머지가 0이 아니라면, 모든 사람이 같은 수의 피자 조각을 먹을 수 없는 상태이므로 추가로 피자를 주문해야 합니다.
pizza에 6을 더해주어 다음 피자 판 수를 계산합니다.
반복문이 종료되면, pizza / 6을 통해 필요한 최소 피자 판 수를 계산하여 반환합니다.
pizza를 6으로 나눈 결과는 필요한 최소 피자 판 수입니다. 예를 들어, pizza가 12인 경우, 12 / 6의 결과인 2는 2 판의 피자가 필요한 것을 의미합니다.