[Python] 프로그래머스 / 스택/큐 / 기능개발 / 리스트 순서대로 비교
2024. 3. 5. 12:46ㆍCoding Test/Python
https://school.programmers.co.kr/learn/courses/30/lessons/42586
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
def solution(progresses, speeds):
answer = []
num = []
# 작업 시간
for i in range(len(progresses)):
work = 100 - progresses[i]
if 0<work%speeds[i]<speeds[i]:
reminder = work//speeds[i]+1
answer.append(reminder)
else:
reminder = work//speeds[i]
answer.append(reminder)
# 배포 개수
output = 1 # 초기 배포되는 기능의 개수는 1개로 시작
for j in range(0, len(answer)-1):
if answer[j] >= answer[j+1]:
output += 1 # 배포되는 기능의 개수를 증가시킴
else:
num.append(output)
output = 1 # 새로운 배포일이 시작되면 기능 개수를 다시 1개로 초기화
num.append(output) # 마지막 배포일의 기능 개수 추가
return num
배포의 경우 chatgpt에게 물어서 겨우 풀었지만 테스트1, 2만 맞추고 나머지 다 오답.
def solution(progresses, speeds):
result = 1
answer = []
num = []
for i, j in zip(progresses, speeds):
if (100-i)%j==0:
mod = (100-i)//j
answer.append(mod)
else:
mod = (100-i)//j+1
answer.append(mod)
while len(answer)>=2:
if answer[0]>=answer[1]:
result += 1
answer.pop(0)
else:
num.append(result) # num에 추가하고
result = 1 # result 값 초기화
answer.pop(0)
num.append(result) # 마지막 결과 추가
return num
while 문을 써서 다시 푼 결과
정확성: 27.3
합계: 27.3 / 100.0
def solution(progresses, speeds):
answer = []
while progresses: # 리스트가 비어있지 않을 때까지 반복
cnt = 0 # 배포 수
while progresses and progresses[0]>=100:
# 리스트가 비어있지 않고 맨 앞에 작업진도가 100이 된다면
cnt += 1
progresses.pop(0)
speeds.pop(0)
progresses = [progresses[i] + speeds[i] for i in range(len(progresses))]
# progresses update.
if cnt: # cnt가 0이 아니라면 결과 리스트에 추가.
answer.append(cnt)
return answer
입출력 순서에 대한 언급이 있다면, stack , queue 이라 간파하고 pop 으로 풀려고 해보기
ref :
https://happy-obok.tistory.com/38
[프로그래머스] 기능 개발 문제 풀이 (파이썬/ 큐)
문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100% 일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이
happy-obok.tistory.com
'Coding Test > Python' 카테고리의 다른 글
| [Python] 프로그래머스 / 스택/큐 / 프로세스 / any() (0) | 2024.03.06 |
|---|---|
| [Python] 프로그래머스 / 정렬 / 가장 큰 수 / 숫자형 리스트 단일 값으로 병합 (0) | 2024.03.06 |
| [Python] 프로그래머스 / 스택/큐 / 올바른 괄호 / pop() / stack (0) | 2024.03.05 |
| [Python] 프로그래머스 / 해시 / sort 다중정렬 / 하나의 리스트에서 문자 비교 / 이진수 나타내기 (0) | 2024.03.04 |
| [Python] 프로그래머스 / 해시 / 베스트앨범 / dictionary에서 key에 따른 value 더하기 (0) | 2024.03.04 |