728x90
코딩테스트 연습 - 기능개발 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
스택과 큐를 이용하는 문제라고 생각했는데, 사용하지 않아도 괜찮은 문제다.
굳이 간단하게 아래 코드처럼 큐를 사용해서 풀어보았는데, 레벨 2는 아닌 거 같은 쉬운 문제였다.
이번 코드는 쉽기 때문에 굳이 부연설명 들어가지 않음.
def solution(progresses, speeds):
answer=[]
day_=0
cnt=0
while len(progresses)>0:
if progresses[0]+day_*speeds[0]>=100:
progresses.pop(0)
speeds.pop(0)
cnt+=1
else:
if cnt>0:
answer.append(cnt)
cnt=0
day_+=1
answer.append(cnt)
return answer
다른 사람은 zip 함수를 이용해서 해결했다. 이게 좀 더 어려운 듯.
def solution(progresses, speeds):
Q=[]
for p, s in zip(progresses, speeds):
if len(Q)==0 or Q[-1][0]<-((p-100)//s):
Q.append([-((p-100)//s),1])
else:
Q[-1][1]+=1
return [q[1] for q in Q]
'cording test' 카테고리의 다른 글
Lv.2 n-queens (2) | 2023.06.07 |
---|---|
Lv.3 이중우선순위큐 (3) | 2023.06.07 |
Lv.1 콜라 문제 (0) | 2023.06.04 |
Lv.2 전화번호 목록(해쉬) (0) | 2023.06.02 |
Lv.1 폰켓몬(해쉬 사용) (0) | 2023.06.02 |