분류 전체보기
-
프로그래머스 문제 풀이 이중 우선순위 큐24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 5. 16:57
문제 URL 이중 우선순위 큐 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다. 입력: operations = ["I 16","D 1"] 이제 차례 차례 operations를 보고 이중 우선순위 큐에 데이터를 넣어봅시다. 먼저 첫번 째입니다. 해당 문자열을 " " 기준으로 자릅니다. elem = "I 16" op = "I" num = 16 이제 우선순위 큐에 16을 저장합니다. pq = [ 16 ] 이제 다음 데이터를 봅시다. 데이터는 이렇게 될 겁니다. elem = "D 1" op = "D" num = 1 pq = [ 16 ] 이제 D에 1이 나왔으니 우선순위 큐 최댓값을 제거합니다. pq ..
-
프로그래머스 문제 풀이 디스크 컨트롤러24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 4. 23:37
문제 URL 디스크 컨트롤러 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다. 입력: jobs = [[0, 3], [1, 9], [2, 6]] 이 때, 먼저 최초 작업은 request=0, expend=3인 작업을 진행합니다. 그러면 결국 이렇게 됩니다. jobs = [[1, 9], [2, 6]] n = 1 //처리한 작업의 개수 time = 3 //현재 시간 (0 + expend=3) answer = 3 // 작업 요청부터 작업이 마무리까지 걸린 시간 (0 + expend) 이제 어떤 작업을 골라야 할까요? 이럴 경우, 요청 시간이 짧은 걸 먼저 처리할수록, answer에 크기가 작아집니다...
-
프로그래머스 문제 풀이 라면 공장24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 2. 11:22
문제 URL 라면 공장 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다. 입력: stock = 4 dates = [4, 10, 15] supplies = [20, 5, 10] k = 30 문제에 따르면, 4일 째에 물량이 처음으로 동이 납니다. 4일 째 stock = 0 (4-4 (dates[0])) 그런데, dates 에는 4가 있습니다. 따라서 4일째, 물량인 20을 받습니다. 4일 째 stock = 20 (0 + 20 (supplies[0])) 이후, 우리는 10일 째, 15일 째 물량을 공급 받을 수 있습니다. 문제에 따르면, "최대한 적게 공급을 받는다"라고 적혀 있으니, 최대한 날짜..
-
프로그래머스 문제 풀이 쇠막대기24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 30. 23:41
문제 URL 쇠막대기 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다. 입력: arrangement = "()(((()())(())()))(())" 보기 쉽게 "()" 즉 막대가 잘린 곳을 나눠보도록 하겠습니다. "() ((( () () )( () ) () ))( () )" 가장 왼쪽의 경우는 접점이 없습니다. "()" 이것은 단순이 잘리는 지점을 의미하기 때문이지요. 또한, 완전히 괄호가 닫힌 경우, 아예 다른 부분이라고 생각해도 무방합니다. 즉 이렇게 생각해도 무방합니다. "((( () () )( () ) () ))" + "( () )" 먼저 두번째 부분부터 살펴봅시다. "( () )" 1..
-
프로그래머스 문제 풀이 주식 가격24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 30. 17:30
문제 URL 주식 가격 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다, 입력 : prices = [1, 2, 3, 2, 3] 문제에서는 1초, 2초, .. 5초로 표현했지만, 저는 배열 인덱스를 맞추기 위해서 0초, 1초, ... 4초로 표현하도록 하겠습니다. 이제 0초 때, 주식 가격이 얼마나 유지되었는지를 살펴보죠, 0초: 가격 : prices[0] = 1 0초 이후 prices에서 1보다 떨어질 때까지의 주식 목록 : [2, 3, 2, 3] 유지 시간 : 4초 0초때는 그 이후로 현재 주식가격 1보다 떨어지는 주식이 없습니다. 즉 그 이후로 계속 유지 된다는 것이죠. 이제 각 초를 살펴..
-
프로그래머스 문제 풀이기능 개발24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 29. 09:32
문제 URL 기능 개발 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이전과 마찬가지로, 입력을 통해서 문제를 차근히 풀어보도록 하겠습니다. 우선, 문제의 입력을 살펴보시죠. 입력: progresses = [93,30,55] speeds = [1,30,5] 이제 1일이 지났다고 합시다. 그럼 각 기능의 진행 상황을 진행 속도만큼 작업이 이루어집니다. 그러면 상태는 다음과 같습니다. 1일 차: progresses = [94,60,60] (progress[i] += speeds[i]) speeds = [1,30,5] 계속해서 반복합니다. 2일 차: progresses = [95,90,65] (progress[i] += speeds[i]) speeds = [1,30,5] 3일 ..
-
프로그래머스 문제 풀이 다리를 지나는 트럭24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 28. 15:27
문제 URL 다리를 지나는 트럭 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이전과 마찬가지로, 입력을 통해서 문제를 차근히 풀어보도록 하겠습니다. 우선, 첫 번째 입력을 살펴보시죠. bridge_length = 2 weight = 10 truck_weights = [7,4,5,6] 이 경우 다리의 길이는 2, 다리를 지날 수 있는 트럭들의 최대 무게는 10입니다. 먼저, 7을 진행한다고 해보죠. 0초 때 상황은 다음과 같습니다. 입력: bridge_length = 2 weight = 10 truck_weights = [7,4,5,6] 진행 상황: curr_time = 0 curr_weight = 0 bridge = [ ] 이제 1초 후인 1초 때 상황을 살펴볼까요? 입..
-
프로그래머스 문제 풀이 프린터24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 27. 13:11
문제 URL 프린터 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 먼저 문제에 따르면, priorities에는 문서의 중요도별로 존재합니다. 이 때 location에 위치한 문서가 출력 순서가 어떻게 되는지 반환하면 되는 문제입니다. 어느 때와 마찬가지로 입력을 예제로 직관적으로 문제를 풀어봅시다. 첫 번째 입력입니다. priorities : [2, 1, 3, 2] location : 2 priorities를 인덱스별로 나타내면 다음과 같습니다. priorities : [2, 1, 3, 2] index : [0, 1, 2, 3] location : 2 우리는 index가 location, 즉 2인 문서를 뽑아내면 됩니다. 문제에 따르면, prorities에서 출력될 문서들..