https://school.programmers.co.kr/learn/courses/30/lessons/120816
import math
def solution(slice, n):
return math.ceil(n / slice)
ceil()
이 어차피 되지 않으니 나누어 떨어지지 않으면 한 조각 이상을 먹이기 위해 소수점 올림하였다.1
을 더하는 방법은 나누어 떨어지지 않을 때는 유효하지만, 나누어 떨어질 때는 문제가 되어 틀린 풀이다.def solution(slice, n):
return ((n - 1) // slice) + 1
1
을 더하는 방식이 나누어 떨어질 때 문제가 되니, 제한사항에서 확인할 수 있듯이 n
은 무조건 1
이상이므로 1
을 먼저 빼주고 정수 나눗셈 이후 1
을 더하는 방식이다.ceil()
시간 복잡도는 O(1)
로 상수 시간이다.피드백은 언제나 환영입니다 :)