[ 알고리즘 ]
[프로그래머스] 가장 큰 수
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42746 🎖️난이도 Level 2 ✔️풀이 # sol def solution(numbers): numbers = list(map(str, numbers)) numbers.sort(key = lambda x : x*3, reverse=True) return str(int(''.join(numbers)))
[프로그래머스] K번째수
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42748 🎖️난이도 Level 1 ✔️풀이 # sol1 def solution(array, commands): answer = [] for command in commands: arr_tmp = array arr_tmp = arr_tmp[command[0]-1:command[1]] arr_tmp.sort() answer.append(arr_tmp[command[2]-1]) return answer # sol2) lambda def solution(array, commands): return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands)) ..
[프로그래머스] 더 맵게
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42626 🎖️난이도 Level 2 ✔️풀이 # sol) heapq 이용 import heapq def solution(scoville, K): cnt = 0 heapq.heapify(scoville) ''' s_list = [] for s in scoville: heapq.heappush(s_list, s) ''' while 1: if len(scoville) == 1 and scoville[0] = K: return cnt else: cnt += 1 heapq.heappush(scoville, heapq.heappop(scoville) + heap..
[프로그래머스] 다리를 지나는 트럭
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42583 🎖️난이도 Level 2 ✔️풀이 # sol (시간 초과 에러 해결! ==> len()함수 사용 x, 변수로 대체) def solution(bridge_length, weight, truck_weights): sec = 0 on_bridge = [0] * bridge_length weight_sum = 0 # sum() 시간초과 해결하기 위해 변수 추가 while on_bridge: # 0조차도 다 없어지기 전까지 (빈배열이 아니면) 무한 반복 sec += 1 # 한번 다리(큐)를 조작할 때마다 시간은 1초씩 추가 tmp_pop = on_bridge.pop(0) weight_sum -= tmp_p..
[프로그래머스] 프린터
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42587 🎖️난이도 Level 2 ✔️풀이 # sol1 (내 location(인덱스)를 이동시키면서 반복하다가 맨앞 & max이면 return order) def solution(priorities,location): order = 0 while priorities: if priorities[0] == max(priorities): # max() 써도 시간 초과 안남 order += 1 priorities.pop(0) if location == 0: return order else: location -= 1 else: priorities.append(priorities.pop(0)) if location ..