-
playdata 프로그래머스 기초알고리즘4파이썬/알고리즘 공부 2021. 7. 27. 00:14728x90
playdata 프로그래머스 기초알고리즘4
기능개발

#//올림 해주기위한 math를 import해준다 import math def solution(progresses, speeds): date = [] answer = [] #// 몇일이 걸리는지 일수를 date 리스트에 넣어준다. for i in range(len(progresses)): x = math.ceil((100-progresses[i])/speeds[i]) date.append(x) #//ex)(100-93)/1=7 (100-30)/30=2.3xx (100-55)/5=9 #//date = [7, 3, 9] while date: left = date.pop(0) #// left = 7, date = [3, 9] result = 1 while len(date) != 0 and left>=date[0]: #//date함수가 다 없어지거나, left값이 date[0]보다 큰동안 계속 반복 result+=1 date.pop(0) answer.append(result) return answer
주식가격

def solution(prices): answer = [0] * len(prices) #// 리스트에 pirces길이만큼 자리 확보 for i in range(len(prices)-1): #//맨마지막은 0이므로 -1까지 받아온다. for j in range(i, len(prices)-1): #// i값부터 시작값을 받아와 j의 반복시작이 i가 되도록 해준다(i가 0일때 j를0부터, i가 1일땐 j가 0이 아니라 1부터 시작) if prices[i] >prices[j]: #//뒷자리 숫자가 떨어질경우 break break else: #//뒷자리 숫자가 떨어지지 않았을경우(같거나 클때) answer에 각 인덱스의 값을 +1해준다 answer[i] +=1 return answer
다리를 지나는 트럭
문제설명

제한사항

def solution(bridge_length, weight, truck_weights): answer = 0 bridge_on = [0] * bridge_length #//다리 길이만큼 자리확보 cur_weight = 0 #//현재 다리 무게 while truck_weights: answer+=1 bridge_out = bridge_on.pop(0) #//bridge_out = 0, bridge_on = [0] cur_weight -= bridge_out if cur_weight + truck_weights[0] > weight: bridge_on.append(0) else: truck = truck_weights.pop(0) #//truck = 7 bridge_on.append(truck) #//bridge on ->[0, 7] cur_weight+=truck #// bridge_on 에 값들이 팝, 그 값을 빼줌 while cur_weight > 0: #//현재 무게가 0이 될때까지 반복 answer += 1 bridge_out = bridge_on.pop(0) #//인덱스의 수를 맞추기 위해 0추가 cur_weight -= bridge_out return answer'파이썬 > 알고리즘 공부' 카테고리의 다른 글
playdata 프로그래머스 체육복 (0) 2021.08.04 playdata 프로그래머스,백준 기초알고리즘5 (0) 2021.08.03 playdata 프로그래머스 기초알고리즘3 (0) 2021.07.26 playdata 프로그래머스 알고리즘 2 (0) 2021.07.24 playdata 프로그래머스 알고리즘 공부 (0) 2021.07.23