본문 바로가기
코딩 문제/프로그래머스 [ JavaScript ]

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

by CODESIGN 2022. 10. 24.

https://school.programmers.co.kr/learn/courses/30/lessons/120815

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

문제 설명


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

 

 

제한사항


1 ≤ n ≤ 100

 

 

입출력 예


n result
6 1
10 5
4 2

 

 

입출력 예 설명


입출력 예 #1

  • 6명이 모두 같은 양을 먹기 위해 한 판을 시켜야 피자가 6조각으로 모두 한 조각씩 먹을 수 있습니다.

입출력 예 #2

  • 10명이 모두 같은 양을 먹기 위해 최소 5판을 시켜야 피자가 30조각으로 모두 세 조각씩 먹을 수 있습니다.

입출력 예 #3

  • 4명이 모두 같은 양을 먹기 위해 최소 2판을 시키면 피자가 12조각으로 모두 세 조각씩 먹을 수 있습니다.

 

 

나의 풀이


function solution(n) {
    var answer = 1;
    let six = 6;
    let pieces = 6;
    while ( pieces % n !== 0 ) {
        answer++;
        pieces = six * answer;
    }
    return answer;
}

 

 

 

다른 풀이


제가 푼 방식 보다 코드보다 깔끔하다.

while loop에 true로 설정하고 조건이 맞을 때 break를 걸어주는 방식도 앞으로 사용해 보아야겠다.

그리고 배수로 굳이 곱해줄 필요없이 더해주었다.

 

const solution = (n) => {
    let piece = 6
    while(true) {
        if (piece % n === 0) {
            break
        }
        piece += 6
    }
    return piece / 6
}

 

댓글