programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr import math def solution(progresses, speeds): answer = [] progress = [math.ceil((100 - progresses[i]) / speeds[i]) for i in range(len(progresses))] idx = 0 for i in range(len(progress)): if progress[i] > pro..
programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr def solution(s): answer = [] s = s[2:-2] s = s.split('},{') s = sorted(s,key = lambda x: len(x)) for num in s: num = num.split(',') for n in num: if int(n) not in answer: answer.appe..
programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr from collections import deque def solution(people, limit): answer = 0 people.sort() people = deque(people) while(people): if len(people) == 1: people.pop() else: heavy = people.pop() light = peopl..
programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이 programmers.co.kr def solution(bridge_length, weight, truck_weights): answer = 0 bridge = [0] * bridge_length while(bridge): answer += 1 bridge.pop(0) if truck_weights: if sum(bridge) + truck_weights[0]
programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr from collections import deque def solution(prices): answer = [] prices = deque(prices) while(prices): p = prices.popleft() cnt = 0 for price in prices: cnt += 1 if p > price: break answer...
programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr def solution(priorities, location): answer = 0 priority = [] for i in range(len(priorities)): priority.append((priorities[i], i)) while(priority): max_p = max(priority) p = priority.pop(0) if p[0] != max_p[0]: pri..
programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr def solution(board, moves): answer = 0 basket = [] cnt = -1 // basket의 길이를 저장하는 변수 for move in moves: for i in range(len(board)): if board[i][move-1] != 0: basket.append(board[i][move-1]) board[i][move-1] = 0 cnt += 1 if cnt >..
programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 7 7 7 7 7 3 8 10 15 10 15 10 15 10 15 8 1 0 -> 8 1 0 -> 18 16 15 -> 18 16 15 -> 18 16 15 2 7 4 4 2 7 4 4 2 7 4 4 20 25 20 19 20 25 20 19 4 5 2 6 5 4 5 2 6 5 4 5 2 6 5 4 5 2 6 5 25 30 27 26 24 def solution(triangle): answer = 0 length = len(triangle) for ..