티스토리 뷰
반응형
https://programmers.co.kr/learn/courses/30/lessons/42586#
⊙ 문제
⊙ 제한사항
⊙ 입출력 예
⊙ 입출력 예 설명
⊙ 문제 접근 과정
먼저 각 프로세스마다 며칠이 걸리는지 계산을 해줘야 한다.
그리고 계산한 결과를 days라는 배열을 만들어 넣어줬다.
넣어주고 나면 첫 번째 예제의 경우에 days는 [7,3,9]가 들어간다.
그다음엔 첫 번째 값을 빼서 스택에 넣어주고 그 값과 days에 있는 값들을 비교한다.
만약 stack의 맨 앞에 있는 값과 days에 맨 앞에 있는 값의 크기가 stack 값이 더 크거나 같으면
stack에 계속 넣어준다.
만약 아니라면 지금까지의 stack 길이를 answer에 넣어주고, 스택을 초기화한다.
초기화한 후 바로 days의 첫 번째 값을 다시 stack에 빼서 넣어주는 것을 반복한다.
반복문을 빠져나왔을 때 만약 stack에 남아있는 값이 존재한다면, 그 값의 길이도
answer에 마지막으로 추가해주면 끝이다.
⊙ 문제 풀이
from collections import deque
def solution(progresses, speeds):
answer = []
days = deque()
for i in range(len(progresses)):
day=1
while 100>progresses[i]+speeds[i]*day:
day+=1
days.append(day)
stack = []
stack.append(days.popleft())
while days:
if stack[0] >=days[0]:
stack.append(days.popleft())
else:
answer.append(len(stack))
stack=[]
stack.append(days.popleft())
if stack:
answer.append(len(stack))
return answer
⊙ 마무리
NONE
좋아요는 로그인하지 않아도 누를 수 있습니다!
728x90
반응형
'프로그래머스 > PYTHON [파이썬]' 카테고리의 다른 글
[프로그래머스] 코딩테스트 연습 : 단어 변환 - PYTHON[파이썬] (2) | 2021.10.10 |
---|---|
[프로그래머스] 코딩테스트 연습 : 최소직사각형 - PYTHON[파이썬] (0) | 2021.10.09 |
[프로그래머스] 코딩테스트 연습 : 프린터 - PYTHON[파이썬] (0) | 2021.09.27 |
[백준(BOJ)] 1202번 : 보석 도둑 - PYTHON[파이썬] (0) | 2021.09.25 |
[프로그래머스] 코딩테스트 연습 : 타겟 넘버 - PYTHON[파이썬] (0) | 2021.09.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 우종정
- 프로그래머스
- 문자열
- C++
- 백준
- 연습문제
- 정렬
- 쉽게 배우는 자바 프로그래밍
- 자바스크립트
- 쉽게배우는
- 정답
- 쉽게배우는자바프로그래밍
- JS
- 알고리즘
- BFS
- CPP
- 해답
- 그리디
- py
- OS
- java
- 운영체제
- 구현
- 파이썬
- 자바
- 정리
- Web
- 답
- 풀이
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함