분류 전체보기
[프로그래머스] 다리를 지나는 트럭
📌문제 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 ..
[프로그래머스] 기능개발
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42586 🎖️난이도 Level 2 ✔️풀이 # sol1 def solution(progresses, speeds): import math answer = [] l = len(progresses) left_days = [math.ceil((100-progresses[i])/speeds[i]) for i in range(l)] baepo_num = 1 tmp_max = left_days[0] for item in left_days[1:]: if item > tmp_max: # 같아도 continue answer.append(baepo_num) tmp_max = item baepo_num = 1 continue..
[프로그래머스] 위장
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42578 🎖️난이도 Level 2 ✔️풀이 # sol1 def solution(clothes): sorted_list = sorted(clothes, key = lambda x : x[1]) dic = {} category = '' for item in sorted_list: if item[1] == category: dic[category].append(item[0]) # 같은 종류면 그냥 뒤에 이어서 추가만 continue category = item[1] dic[category] = [] # 다를때만 새로운 종류 발견했을 때이므로, 이때만 새롭게 빈 배열로 초기화! dic[category].appen..
[프로그래머스] 전화번호 목록
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42577 🎖️난이도 Level 2 ✔️풀이 # sol1 def solution(phone_book): phone_book.sort() # sort() !! # 2중 for문 안써줘야 효율성 향상! for i in range(len(phone_book)-1): if phone_book[i] in phone_book[i+1] and phone_book[i+1].split(phone_book[i])[0] == "": return False return True return True # sol2) s.startswith() def solution(phone_book): phone_book.sort() for i ..