반응형
문제
머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
문제 원리
원리1
n(사람의 수)을 7(피자의 조각)로 나눈 몫이 필요한 피자의 개수이고, n이 7로 나누어 떨어지지 않는다면 피자 한 판을 더 추가하는원리입니다.
원리2
사람의 수 를 피자 조각을 정확하게 나눠 지지 않을때 몫을 올림하면 더 간단하게 표현 할수 있습니다.
원리3
다른 방법은 모든 사람의 수를 7의 배수 아닌 수를 만들고 정수 나눗셈이후 + 1 더하면 피자의 수를 구할수 있습니다
문제 풀이
Python
원리1
def solution(n):
# n을 7로 나눈 몫이 필요한 피자의 개수
pizza = n // 7
# n이 7로 나누어 떨어지지 않는 경우, 피자 한 판을 추가
if n % 7 != 0:
pizza += 1
return pizza
원리2
import math
def solution(n):
return math.ceil(n / 7)
원리3
def solution(n):
return (n - 1) // 7 + 1
JavaScirpt
원리1
function solution(n) {
// n을 7로 나눈 몫이 필요한 피자의 개수
let pizza = Math.floor(n / 7);
// n이 7로 나누어 떨어지지 않는 경우, 피자 한 판을 추가
if (n % 7 !== 0) {
pizza += 1;
}
return pizza;
}
원리2
function solution(n) {
// n을 7로 나눈 후, 그 결과를 올림하여 필요한 피자의 수를 계산
return Math.ceil(n / 7);
}
원리3
function solution(n) {
// n에서 1을 뺀 후, 그 결과를 7로 나눈 몫에 1을 더하여 필요한 피자의 수를 계산
return Math.floor((n - 1) / 7) + 1;
}
출처
https://school.programmers.co.kr/learn/courses/30/lessons/120814
반응형