전체 글
-
프로그래머스 가장 큰 수코딩테스트 2021. 11. 12. 16:48
https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr def solution(numbers): answer = '' tmp = [(str(x)) for x in numbers] tmp.sort(key=lambda x: x * 3, reverse=True) for x in tmp: answer += x return str(int(answer)) 1. 정..
-
프로그래머스 K번째수코딩테스트 2021. 11. 11. 19:34
https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr def solution(array, commands): answer = [] for x in commands: tmp = array[x[0]-1:x[1]] tmp.sort() answer.append(tmp[x[2]-1]) return answer
-
프로그래머스 이중우선순위큐코딩테스트 2021. 11. 11. 17:19
https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr import heapq def solution(operations): heap = [] for x in operations: tmp = x.split() if tmp[0] == "I": heapq.heappush(heap, int(tmp[1])) elif tmp[0] == "D" and len(heap) > 0: if tmp[1] == "1": del heap[-1] else: heapq.heappop(heap) if len(heap) == 0: return [0,0] return [max(heap), heap[0]] 주의 1. 힙은 가장..
-
프로그래머스 더 맵게코딩테스트 2021. 11. 9. 18:40
https://programmers.co.kr/learn/courses/30/lessons/42626# 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) while len(scoville) > 1 and scoville[0] < K: tmp = heapq.heappop(scoville) tmp2 = heapq.heappop(scoville) tmp3 = tmp + (..
-
11/04 코딩테스트 프로그래머스 다리를 지나는 트럭코딩테스트 2021. 11. 4. 16:27
https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr def solution(bridge_length, weight, truck_weights): time = 0 bridge = [] currentWeight = 0 while True: for x in bridge: x[1] += 1 for x in bridge: if x[1] > bridge_length: tmp = bridge.pop..
-
11/04 코딩테스트 프로그래머스 프린터코딩테스트 2021. 11. 4. 12:56
https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr def solution(priorities, location): answer = 0 a = 65 l = [] my = "" for i in range(len(priorities)): l.append((priorities[i], chr(a))) if(i == location): my = chr(a) a += 1 while len(l) > 0: b = False for..
-
11/04 코딩테스트 프로그래머스 기능개발코딩테스트 2021. 11. 4. 11:41
https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr def solution(progresses, speeds): answer = [] counter = 0 count = 0 b = False while counter < len(speeds): for i in range(len(speeds)): progresses[i] += speeds[i] for i in range(counter, len(speeds))..
-
10/29 코딩테스트 프로그래머스 위장코딩테스트 2021. 10. 29. 19:37
https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr import collections import math def solution(clothes): tmp = [] for x in clothes: tmp.append(x[1]) counter = collections.Counter(tmp) val = list(dict(counter).values()) answer = 1 for x in val: answer *= x + 1 return answer - 1 같은 종류의 옷 개수 + 1를 하여 각 옷 종류의 개수를 곱하는 것이 포인트 같은 종류의 옷 개수 + 1를 하는 것은 입지 않는 상태를 추가 하기 ..