https://school.programmers.co.kr/learn/courses/30/lessons/42586
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
def solution(progresses, speeds):
answer = []
index = 0
while True:
for i in range(len(progresses)):
progresses[i] += speeds[i]
cnt = 0
for i in range(index, len(progresses)):
if progresses[i] >= 100:
cnt += 1
else:
break
if cnt > 0: # 배포할 것이 있는가?
answer.append(cnt)
index += cnt
if sum(answer) == len(progresses): # 전부 배포했는가?
return answer
오답 코드( 테스트케이스 1,5,6,11 맞음)
# 스택큐 문제라 쓰려다가...
def solution(progresses, speeds):
answer = []
while progresses:
progress = progresses.pop(0)
speed = speeds.pop(0)
day = 0
while progress < 100:
progress += speed
day += 1
for i in range(len(progresses)):
progresses[i] += speeds[i] * day
cnt = 1
while progresses:
if progresses[0] >= 100:
progresses.pop(0)
cnt += 1
else:
break
answer.append(cnt)
return answer
- 스택큐 문제에 분류되어 있어서 최대한 활용해보려고 머리를 굴렸다가 실패했다...
- day를 세는 데에 문제가 생긴 것 같은데 잘 모르겠다...반례를 다 찾아서 넣어도 맞아서...
'프로그래머스' 카테고리의 다른 글
프로그래머스 84512. 모음사전 (0) | 2024.11.04 |
---|---|
프로그래머스 43236. 징검다리 (0) | 2024.11.03 |
프로그래머스 92341. 주차 요금 계산 (0) | 2023.11.09 |
프로그래머스 72413. 합승 택시 요금 (0) | 2023.11.08 |
프로그래머스 42898. 등굣길 (0) | 2023.11.07 |