Stack_Queue_기능개발_Level2
1. 내 코드
# progresses speeds return
# [93, 30, 55] [1, 30, 5] [2, 1]
# [95, 90, 99, 99, 80, 99] [1, 1, 1, 1, 1, 1] [1, 3, 2]
from collections import deque
import math
def solution(progresses, speeds):
answer = []
completeDays = deque()
for i in range(len(progresses)) :
# 테스트케이스11 불통 -> math.ceil 쓸땐 /로 해야 올림이 됨
completeDays.append(math.ceil((100 - progresses[i]) / speeds[i]))
while completeDays :
standard = completeDays.popleft()
cnt = 1
for day in completeDays:
if standard >= day:
cnt += 1
else:
break
for _ in range(cnt-1):
completeDays.popleft()
answer.append(cnt)
return answer
print(solution([93, 30, 55],[1, 30, 5]))
결과
평가
- 테스트케이스 11 안됬었음 : 만약 아래 부분이 float형으로 나왔을 경우 값을 올림으로 처리해야하는데 // 으로 하면 math.ceil이 먹지 않음
(100 - progresses[i]) / speeds[i])
- 여러개의 수학 함수를 이용할 수 있는 math모듈을 import 한다.
- 실수를 올림 할 때는 math.ceil( ) 함수를 사용한다. ceil은 천장을 의미하며 실수의 바로 위 정수를 반환한다.
- 실수를 내림 할 때는 math.floor( ) 함수를 사용한다. floor는 바닥을 의미하며 실수의 바로 아래 정수를 반환한다.
Author And Source
이 문제에 관하여(Stack_Queue_기능개발_Level2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hayeon/StackQueue기능개발Level2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)