머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice
와 피자를 먹는 사람의 수n
이 매개변수로 주어질 때, n
명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
let i = 1;
function solution(slice, n) {
let k = Math.floor(slice/n)
while(k>=1) {
i++;
k*=i;
}
return i
}
function solution(slice, n) {
let k = slice/n
while (i*k >=1) {
i++;
k*=i
}
return i
}
※ 참고로 틀린 답이다. 어디가 틀렸을까?
소수점이 되어도 상관없는게, 한명당 1조각 이상의 피자만 먹으면 되기 때문에 피자가 남아도 된다.
위의 시도처럼 조건식을 써주게되면 i=1부터 거짓이 되기 때문에 바로 반복문 후로 넘어가기 때문에 return 값은 1이 된다.
function solution(slice, n) {
let i = 1;
while(slice*i<n){
i++
}
return i;
}
function solution(slice, n) {
return Math.ceil(n / slice)
}
function solution(slice, n) {
var answer = 0;
while(n > slice * answer){
answer++;
}
return answer;
}
while문의 개념을 다시 짚을 수 있었다.
while문은 조건문이 참일 때 실행되는 반복문이다. 조건은 문장안이 실행되기 전에 참, 거짓을 판단한다.
따라서 문장을 원하는 만큼 반복시키기 위해서는 조건식을 어떻게 짜야할지 고민을 잘해야한다.
while문은 조건문이 참일 때 실행되는 반복문이다. 조건은 문장안이 실행되기 전에 참, 거짓을 판단한다.
문법while (condition) statement
조건
반복이 시작되기 전에 조건문은 참,거짓을 판단받게 된다. 만약 조건문이 참이라면, while문 안의 문장들이 실행된다. 거짓이라면, 문장은 그냥 while 반복문 후로 넘어간다.
문장
조건문이 참일 때만 while문 속의 문장들이 실행된다. 반복문 속에 여러개의 문장을 사용하고 싶다면 중괄호 { } 를 통해 문장들을 하나로 묶어야 한다.