반응형
처음 접근은 100%가 되기 위해 걸리는 날을 리스트로 따로 저장하는 것이었다.
그러나 너무 복잡해졌고 해결하지 못했다 ㅜㅜ
어제 오늘 고민하다가 서치를 통해 새로운 접근법을 발견했다.
처음 이코드를 봤을 때 너무 새로웠다.
변수를 하나 더 쓰면 복잡해질 것 같지만 사실 더 간단해질 수도 있다는 교훈을 얻었다.
def solution(progresses, speeds):
answer = []
days = 0
count = 0
while len(progresses) != 0:
if progresses[0] + days * speeds[0] >= 100:
progresses.pop(0)
speeds.pop(0)
count += 1
else:
if count > 0:
answer.append(count)
count = 0
days += 1
answer.append(count)
return answer
코드 풀이 : days와 speed와의 곱을 통해 100이상이 되면 통과하고 리스트에서 제거해준다. 그렇지 않으면 answer리스트에 count를 추가해주고 days에 1을 더하면서 100이 넘을 때까지 반복한다.
반응형
'알고리즘 > 프로그래머스 level 1,2' 카테고리의 다른 글
[파이썬🐍] 프로그래머스 : 소수 찾기 (0) | 2021.04.29 |
---|---|
[파이썬🐍] 프로그래머스 : 가장 큰수 (0) | 2021.04.28 |
[파이썬🐍] 프로그래머스 : 행렬의 곱셈 (0) | 2021.04.26 |
미완성[파이썬🐍] 프로그래머스 : 위장 (0) | 2021.04.25 |
[파이썬🐍] 프로그래머스 : 전화번호 목록 (0) | 2021.04.23 |
댓글