code/[프로그래머스] python
[코딩 테스트 연습 입문] 피자 나눠 먹기 (2)
오리는짹짹
2022. 12. 23. 11:27
문제
머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
❗제한사항❗
- 1 ≤ n ≤ 100
입출력 예
입출력 예 설명
입출력 예 #1
- 6명이 모두 같은 양을 먹기 위해 한 판을 시켜야 피자가 6조각으로 모두 한 조각씩 먹을 수 있습니다.
입출력 예 #2
- 10명이 모두 같은 양을 먹기 위해 최소 5판을 시켜야 피자가 30조각으로 모두 세 조각씩 먹을 수 있습니다.
입출력 예 #3
- 4명이 모두 같은 양을 먹기 위해 최소 2판을 시키면 피자가 12조각으로 모두 세 조각씩 먹을 수 있습니다.
✔풀이
def solution(n):
answer = 1
while True:
if answer * 6 % n == 0:
break
else:
answer+=1
return answer
📝설명
우선 answer을 1로 설정했다. answer은 피자의 판수를 의미한다.
while문은 조건문이 참일 경우 계속 실행되는 특징이 있어서 while문에 if와 else를 사용하여 코드를 짰다.
if문의 조건이 조금 까다로웠다. 나머지가 0이 되면 되는데 어떤거에 무엇을 나눠야 할까..?🤔
결론적으로, 전체 조각 수에 사람수를 나눴을 때 나머지가 0이 되어야 한다.
즉, 전체 조각 수 = answer * 6, 사람수는 n 이니까!
if 조건문에 넣었다.
이 조건이 되면 while문을 계속 돌릴 필요가 없으니까 break로 나오게 한다.
if 조건문에 해당하지 않는다면 else문을 통하여 answer에 1을 더하도록 했다.
👑모범 답안
👀느낀 점
: 다양한 라이브러리를 경험해보고 내 것으로 만들어야 하느리라......