dev_eun
[프로그래머스] 기능 개발 본문
programmers.co.kr/learn/courses/30/lessons/42586?language=python3
import math
def solution(progresses, speeds):
size = len(progresses)
days = [0] * size
answer = []
max_day = 0
for i in range(size):
days[i] = math.ceil((100 - progresses[i]) / speeds[i])
if max_day < days[i]:
max_day = days[i]
answer.append(1)
else:
answer[-1] += 1
return answer
- 개선
def solution(progresses, speeds):
answer = []
max_day = 0
for p, s in zip(progresses, speeds):
days = -((p-100) // s)
if max_day < days:
max_day = days
answer.append(1)
else:
answer[-1] += 1
return answer
나는 올림을 하기 위해서 math의 ceil() 함수를 사용하였었는데,
-((p-100) // s)
로 하면 되었다.
(p-100) => 음수, (p-100) // s => 내림한 음수(음수에서 내림은 절대값은 커짐), -((p-100)//s) => 올림한 양수
728x90
'공부 > 알고리즘 문제' 카테고리의 다른 글
[프로그래머스] 기능개발 c++, javascript (0) | 2021.04.29 |
---|---|
[프로그래머스] 순위 (0) | 2020.12.11 |
[백준] BOJ 1937번 욕심쟁이 판다 (0) | 2020.12.11 |
[프로그래머스] 가장 먼 노드 (0) | 2020.12.11 |
[프로그래머스] 다리를 지나는 트럭 (0) | 2020.12.10 |