티스토리 뷰

 

https://school.programmers.co.kr/learn/courses/30/lessons/120814

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

피자 한판 당 7조각일 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자 판 수를 구하는 문제

사람의 수가 7의 배수라면, (사람의 수 // 7)이 필요한 피자의 판수

그 외의 경우, 예를 들어 사람의 수가 15명일 때, 7조각인 피자를 최소 한 조각 씩 먹기 위해서는 최소 3판이 필요

-> 15/7 = 2.xxx을 올림

 

import math

def solution(n):
    answer = 0
    if n%7==0:
        answer = n//7
    elif 1<=(n%7)<=6:
        answer = math.ceil(n/7)
    return answer

 

cf) Python 내장 라이브러리 math 정리

1. ceil() : 입력된 실수를 올림 하는 함수

2. floor(): 입력된 실수를 내림하는 함수

3. gcd(a, b) : 입력된 두 수의 최대공약수를 구하는 함수

 

https://school.programmers.co.kr/learn/courses/30/lessons/120815

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

피자를 여섯 조각으로 나눠줬을 때, n명이 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지 구하기

사람의 수가 6의 배수라면, (사람의 수 // 6)이 필요한 피자의 판 수

10명이 모두 같은 피자 조각을 먹으려면 최소 5판을 시켜야 총 30조각을 각각 3조각씩 나눠 먹을 수 있다

 

* 사람의 수가 6의 배수가 아니라면 피자 판 수와 조각을 모두 구해야 한다 => 사람의 수와 6의 최대 공약수 이용하기

피자 조각은 (사람의 수 * 6조각) // (사람의 수와 조각 6의 최대 공약수)

필요한 피자 판의 수는 피자 조각 // 6

 

import math

def solution(n):
    temp = 0
    answer = 0
    
    if n%6==0:
        answer = n//6
    else:
        temp = (n*6) // math.gcd(n,6)
        answer = temp // 6
    return answer

 

https://school.programmers.co.kr/learn/courses/30/lessons/120816

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

피자 조각 수와 사람 수가 주어질 때, 모든 사람이 최소 한 조각 이상 피자를 먹으려면 필요한 피자의 판 수

사람의 수가 피자 조각 수의 배수라면, (사람의 수 // 피자 조각 수)가 필요한 피자 판 수

ex) 12명이 4조각으로 자른 피자를 한 조각 이상 씩 먹으로면 3판 필요

 

사람의 수가 피자 조각 수의 배수가 아니라면 ((사람의 수 // 피자 조각수) + 1)이 필요한 피자 판수

ex) 10명이 7조각으로 자른 피자를 한 조각 이상 씩 먹으려면 최소 14조각(2판) 필요

 

import math

def solution(slice, n):
    answer = 0
    if n%slice==0:
        answer = n//slice
    else:
        answer = n//slice+1
    return answer
TAG more
글 보관함
최근에 올라온 글