-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
궁금한것이 있습니다.
21.11.05 15:46 작성 조회수 167
0
안녕하세요!!
강의 잘 보고 있습니다.
감사합니다 ㅎ__ㅎ
제가 여쭤보고자 하는것은 최근 문제 풀때 의아한점이 있어 관련내용을 선수강 후 해결과정에서 혼란을겪어 질문 남깁니다.
외부 플랫폼 알고리즘 사이트에서 문제 해결 중 아래 코드 처럼 작성한것이 있고
1. check.append(int((percent/speeds[idx])+0.50))
또 아래와 같이 작성된 코드가 있었을때
2. check.append(math.ceil(percent/speeds[idx]))
2번째 코드는 Pass를 받은 반면에 1번째 코드로 작성된 라인은 일부 코드가 Fail을 받았습니다.
이 강좌에서 말씀하신 내용이 올림에 관한 내용인것 같아 외부 플랫폼 문제로 해결할때 적용해보았는데 1번이 왜 Fail을 받는지에 대한것과 오히려, 올림을 수행할 떄 2번과 같이 사용하는것이 더 정확한것인지 혼동이 되어 질문남깁니다.
문제 사이트는 https://programmers.co.kr/learn/courses/30/lessons/42586?language=python3 이며
작성된 코드는 하기와 같습니다.
import math
def solution(progresses, speeds):
answer = []
check = []
for idx, progress in enumerate(progresses) :
percent = 100-progress
check.append(int((percent/speeds[idx])+0.50))
#check.append(math.ceil(percent/speeds[idx]))
#print(check)
cnt = 1
compare = check[0]
for j in range(1, len(check)) :
if compare>=check[j] :
cnt += 1
else :
answer.append(cnt)
cnt = 1
compare = max(compare, check[j])
answer.append(cnt)
#print(answer)
return answer
감사합니다.
답변을 작성해보세요.
0
김태원
지식공유자2021.11.10
안녕하세요^^
check.append(int((percent/speeds[idx])+0.50))
위에 코드는 반올림을 하는 코드이지 올림을 하는 코드는 아닌것 같습니다.
답변 1