Programmers31 [python] 디스크 컨트롤러 문제 출처 디스크 컨트롤러 풀이 def solution(jobs): num_jobs = len(jobs) answer = 0 jobs.sort(key=lambda x: (x[0], x[1])) start, time = jobs.pop(0) end = time+start answer += time while jobs: nxt_idx = 0 for idx in range(1, len(jobs)): if jobs[idx][0] > end: break else: if jobs[idx][1] < jobs[nxt_idx][1]: nxt_idx = idx nxt = jobs.pop(nxt_idx) if nxt[0] 2019. 10. 13. [python] 문자열 압축 문제 출처 문자열 압축 풀이 def solution(s): answer = len(s) for i in range(1, len(s)//2+1): result, unit, cnt = '', s[:i], 1 for j in range(i, len(s), i): if s[j:j+i] == unit: cnt += 1 else: result += str(cnt)+unit if cnt > 1 else unit unit = s[j:j+i] cnt = 1 result += str(cnt)+unit if cnt > 1 else unit answer = min(answer, len(result)) return answer 2019. 10. 6. [python] 타일 장식물 문제 출처 타일 장식물 풀이 def solution(N): answer = 0 a, b = 0, 1 for i in range(N): a, b = b, a+b answer = (a+b)*2 return answer 2019. 9. 18. [python] 정수 삼각형 문제 출처 정수 삼각형 풀이 def solution(triangle): answer = 0 init = triangle[0] for t in triangle[1:]: t[0], t[-1] = init[0]+t[0], init[-1]+t[-1] for i in range(1, len(init)): t[i] = t[i]+max(init[i-1], init[i]) init = t[::] answer = max(init) return answer 2019. 9. 18. 이전 1 2 3 4 5 ··· 8 다음