프로그래머스 자바스크립트 피자 나눠 먹기 (2)Javascript2023. 3. 29. 02:46
Table of Contents
728x90
반응형


- 문제 설명
머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다.
피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때,
n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를
return 하도록 solution 함수를 완성해보세요.
그야말로 내 멍청함을 증명하는 문제였다.
자바스크립트 공부하면서 while문 다 공부했으면서 while문을 조건문이라고 생각했던 나는...
내가 왜 그랬을까(사실 while문이 그렇게 중요하다고 생각을 안했기 때문에 이 사달이 난 것 같다)
결론, while문 안에 if문을 사용하여 문제 풀이를 시작한다.
피자는 한 판당 6조각으로 나뉜다. 그런데 피자가 절대 남지 않아야 한다는 조건이 있으므로
피자 6조각 n(사람 수)의 나머지가 0이라면 if문에서 빠져나온다. (자동으로 while문도 종료)
하지만 이 조건에 부합하지 않는다면 피자를 6조각 추가한다.(무조건 남지 않아야 하기 때문)
이렇게 if문이 반복되기 때문에 while문이 필요하다.
function solution(n) {
let answer = 6
while(true) {
if (answer % n === 0) {
break
// 나머지가 0일 경우 if문을 종료한다.
}
answer += 6
// answer % n === 0이 false일 경우 answer에 6을 더한다.
// 더하고 다시 if문으로 돌아간다.(while문을 사용했기 때문)
}
return answer / 6
// 피자가 몇 판인지를 return해야 하므로 나누기 6을 해준다.
}
728x90
반응형
'Javascript' 카테고리의 다른 글
| 다시 시작하는 자바스크립트 - spread 연산자 (0) | 2023.04.19 |
|---|---|
| 다시 시작하는 자바스크립트 - 이터러블, 제너레이터 (0) | 2023.04.19 |
| 다시 시작하는 자바스크립트 - TodoList (0) | 2023.03.26 |
| 다시 시작하는 자바스크립트 - 배열 퀴즈2(고차함수) (0) | 2023.03.22 |
| 다시 시작하는 자바스크립트 - 배열 퀴즈 (0) | 2023.03.22 |
@min' :: 개발을 하자
github : https://github.com/dnjfht
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!