소스 코드
def solution(progresses, speeds): answer = [] n = len(speeds) ans_lst = [0 for _ in range(n)] # 작업에 걸리는 시간 계산 for q in range(n): if (100 - progresses[q]) / speeds[q] == (100 - progresses[q]) // speeds[q]: ans_lst[q] = (100 - progresses[q]) / speeds[q] else: ans_lst[q] = (100 - progresses[q]) // speeds[q] + 1 cnt = 1 num = ans_lst[0] # 현재 값보다 큰 값을 만날때까지 반복 # 큰 값을 만나면 갱신 for w in range(1, n): if num >= ans_lst[w]: cnt += 1 else: answer.append(cnt) cnt = 1 num = ans_lst[w] if w == n - 1: answer.append(cnt) return answer
해결 방법
1. 일 처리에 걸리는 시간을 구하고
2. 기준 시간보다 오래 걸리는 작업을 만날 때까지 진행
3. 2를 만나면 값 갱신 및 answer에 현재까지의 값을 저장
느낀 점
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.
'코딩 문제해결 > 문제풀이.프로그래머스' 카테고리의 다른 글
[프로그래머스 코딩] 모음 사전 - PYTHON (0) | 2021.08.30 |
---|---|
[프로그래머스 코딩] 약수의 개수와 덧셈 - PYTHON (0) | 2021.08.26 |
[프로그래머스 코딩] 오픈채팅방 - PYTHON (0) | 2021.08.24 |
[프로그래머스 코딩] 직업군 추천하기 - PYTHON (0) | 2021.08.23 |
[프로그래머스 코딩] 비밀 지도 - PYTHON (0) | 2021.08.22 |