728x90
반응형
1. 문제 설명
2. 풀이과정
- 각 작업별 남은 일수를 저장할 리스트를 생성한다. days = list()
- 작업의 개수만큼 반복하며 for i in range(len(progresses))
- 남은 일수를 저장할 변수를 생성하고 남은 작업을 계산한 후, 하루 작업 속도를 나눈 몫을 저장한다. times = (100 - progresses[i]) // speeds[i]
- 만약 남은 작업을 하루 작업 속도로 나눈 나머지가 0보다 크면(나머지가 있으면) if ((100 - progresses[i]) % speeds[i] > 0)
- 남은 일수에 1을 더한다. times += 1
- 각 작업별로 구한 남은 일수를 리스트에 추가한다. days.append(times)
- 기능의 개수를 세어줄 변수를 생성하고 초기화한다. count = 0
- 일수의 최댓값을 저장할 변수를 생성하고 일수의 첫 번째 값을 저장한다. Max = days[0]
- 일수 값을 하나씩 추출하여 for i in days
- 만약 추출한 일수보다 최댓값이 크거나 같으면 기능의 개수에 1을 더해준다. if (Max >= i): count += 1
- 반면에 추출한 일수보다 최댓값이 더 작으면 else
- 기능의 개수를 정답 리스트에 추가한다. answer.append(count)
- 최댓값을 추출한 일수로 다시 저장한다. Max = i
- 기능의 개수를 1로 다시 저장한다. count = 1
- 모든 일수를 확인했으면 마지막으로 기능의 개수를 정답 리스트에 추가한다. answer.append(count)
반응형
3. 소스코드
def solution(progresses, speeds):
answer = []
days = list()
for i in range(len(progresses)):
times = (100 - progresses[i]) // speeds[i]
if ((100 - progresses[i]) % speeds[i] > 0):
times += 1
days.append(times)
count = 0
Max = days[0]
for i in days:
if (Max >= i):
count += 1
else:
answer.append(count)
Max = i
count = 1
answer.append(count)
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 소수찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.25 |
---|---|
[프로그래머스] 소수 만들기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.25 |
[프로그래머스] 할인 행사 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.24 |
[프로그래머스] 모의고사 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.24 |
[프로그래머스] 카드 뭉치 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.23 |
[프로그래머스] 튜플 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.22 |
[프로그래머스] 과일 장수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.22 |
[프로그래머스] 의상 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.22 |