프로그래머스 JS LV0
LV0 52 피자 나눠 먹기 (2)
와라리요
2022. 10. 21. 14:53
문제
- 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
입출력 예
n | result |
6 | 1 |
10 | 5 |
4 | 2 |
나만의 풀이
이 문제는 코드를 구성해 해결하려고 노력하다 막혀서 수학적으로 접근을 하여 풀었습니다. 수학적 생각해보면 피자 수 / 사람 수를 했을 때 나머지가 생기면 피자 수 * 2 / 사람 수를 하고 나머지가 생기면 피자 수 * 3 / 사람 수를 반복하면 나머지가 생기지 않을 시 필요한 *수가 필요한 피자의 판 수가 된다. 그것을 코드로 만들어 보았다.
function solution(n) {
let answer = 1;
let pizzaPiece = 6
while (pizzaPiece % n !== 0) {
answer += 1;
pizzaPiece += 6;
}
return answer;
}
그런데 지금 보니 그냥 피자에 * 6을히면 코드 길이가 작아지는 게 보여 수정했다.
function solution(n) {
let pizza = 1;
while (pizza * 6 % n !== 0) {
pizza += 1;
}
return pizza;
}
창고! while은 반복문으로 ()안에 거짓(false)이 나오기 전까지 계속 실행된다.