프로그래머스 # stack & queue - 기능개발
🏆 해결
걸린시간 : 25분
문제 난이도 : 하
주석 : 코드를 짜고 한 번에 통과가 돼서 신기했다.
역시 코드를 짜기 전에 코드 검증시간이 길어야 한다.
📌 문제
progress = [90,95,98,1]
speeds = [1,5,1,99]
progress = [90,95,98,1]
speeds = [1,5,1,99]
이런식으로 progress 와 speeds 배열이 주어진다.
각 speeds는 각 progress가 진행되는 속도를 의미한다.
100이 되면 해당 progress가 완료되는 것인데, 순서상 뒤의 것은 앞의 것이 완료될 때까지 배포되지 못한다.
위의 예에서는 return value가
[2,2]
가 나와야 한다.
🔥 아이디어
progress에 speeds를 각 loop마다 더한다.
해당 index가 100이 될 경우,
뒤에 100이 넘는 애들의 숫자를 세주고, 100이 안되는 놈으로 이동해준다.
만약 index가 loop의 길이를 넘는 경우 멈춘다.
🎅 TIP
- 전체 풀이에 대한 생각을 하고, 꽉 잡고 있는다.
(이 때, 예시와 귀납법을 적절히 사용한다) - 시각화 한다.
- sudo code로 검증한다.
( loop는 어떻게 돌 것인지, 1,2번에 해당하는 풀이로 적절히 가고 있는지 등 ) - 구현한다.
📋 코드
# 21.07.18
def solution(progresses, speeds):
index = 0
length = len(progresses)
result = []
while index<length:
count = 1
for i in range(length):
progresses[i] += speeds[i]
if progresses[index] >=100:
index +=1
while index<length and progresses[index]>=100:
index+=1
count+=1
result.append(count)
return result
solution([95, 90, 99, 99, 80, 99],[1, 1, 1, 1, 1, 1])
Author And Source
이 문제에 관하여(프로그래머스 # stack & queue - 기능개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@camel-man-ims/프로그래머스-stack-queue-기능개발
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# 21.07.18
def solution(progresses, speeds):
index = 0
length = len(progresses)
result = []
while index<length:
count = 1
for i in range(length):
progresses[i] += speeds[i]
if progresses[index] >=100:
index +=1
while index<length and progresses[index]>=100:
index+=1
count+=1
result.append(count)
return result
solution([95, 90, 99, 99, 80, 99],[1, 1, 1, 1, 1, 1])
Author And Source
이 문제에 관하여(프로그래머스 # stack & queue - 기능개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@camel-man-ims/프로그래머스-stack-queue-기능개발저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)