큐
-
프로그래머스 문제 풀이기능 개발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에서 출력될 문서들..
-
자료구조 큐와 구현24년 11월 이전/레거시-자료구조 2019. 9. 6. 12:00
Contents 시작하며... 큐 정의 큐 큐 ADT 큐 main 함수 큐 구현 기존 자료구조를 활용하자! 큐 생성과 파괴 IsEmpty Enqueue Dequeue Peek 마치며... 시작하며... 구르미의 "Computer Science 정복하기 - 자료구조"의 아홉 번째 장입니다. 이 장의 대략적인 내용은 다음과 같습니다. 자료구조 큐의 정의 (이중)연결리스트 기반 큐 구현 이 장의 소스코드는 다음을 참고해주세요. url: https://github.com/gurumee92/datastructure branch: ch09 code directory: src/ch09 자 시작합시다! 큐 정의 이번 장에서는 자료구조 큐에 대해서 살펴보도록 하겠습니다. 큐 자료구조 큐는 스택과 정반대로 FIFO 구조입..
-
[자료구조/알고리즘]05. 큐24년 11월 이전/레거시-자료구조 2019. 2. 2. 01:59
CH 05 큐(Queue)목표 자료구조 큐에 대해 알아보고, C/C++ 프로그래밍 언어로 구현해봄으로써 큐의 대한 이해의 깊이를 늘려보세요! 목차1. 큐란 무엇인가? 2. 큐 ADT 3. C로 구현하기 4. C++로 바꿔보기 5. 결론 1. 큐란 무엇인가? 큐란 마치, 순서가 있는 대기열 같습니다. 그림처럼 은행의 대기열이 있다고 합시다. 당연히 먼저 온 사람이 먼저 나가게 되겠죠? 이것이 바로 큐입니다. 유식한 말로는 FIFO(First In First Out) 구조라고 하지요. 이번 시간에 우리가 구현할 큐는 배열 기반의 원형 큐입니다. 본격적으로 코드를 구현하기 전에 원형 큐가 무엇인지 살펴보도록 하죠.일반 배열로 큐를 구현했을 때, 우리가 가질 수 있는 문제점 중 하나는, 큐가 꽉차면, 재활용이 ..
-
[알고스팟] 외계 신호 분석(ITES)24년 11월 이전/레거시-알고스팟-알고리즘 문제 해결 전략 2019. 1. 23. 13:44
[알고스팟] 외계 신호 분석(ITES)목표 : 책 "알고리즘 문제 해결 전략 문제 풀이" 중 문제 외계 신호 분석(ITES)를 풀어보자문제 URL풀이외계 신호 분석(ITES) 문제는 큐와 온라인 알고리즘을 이용하여 푸는 문제입니다. 온라인 알고리즘이란 무엇이냐. 오프라인 알고리즘의 경우 입력의 값이 모두 나왔을 때, 알고리즘을 일괄적으로 적용하여 문제를 푸는 것을 말하고, 온라인 알고리즘은 입력이 생성될 때마다, 알고리즘을 적용하여 문제를 푸는 방식을 말합니다. 일반적으로 예를 들어서 어떤 배열의 누적합을 구하는 경우, 이미 만들어져 있는 배열을 토대로 다음과 같이 누적합 만들 수 있습니다. arr = [1, 2, 3] acc = 1 + 2 + 3 = 6 그런데, 이렇게 생각할 수도 있습니다. 배열의 원..
-
[알고스팟] 조세푸스 문제(JOSEPHUS)24년 11월 이전/레거시-알고스팟-알고리즘 문제 해결 전략 2019. 1. 23. 11:04
[알고스팟] 조세푸스 문제(JOSEPHUS)목표 : 책 "알고리즘 문제 해결 전략 문제 풀이" 중 문제 조세푸스 문제(JOSEPHUS)를 풀어보자문제 URL풀이조세푸스 문제는 대표적인 큐 시뮬레이션 문제입니다. 먼저 첫 번째 예제를 살펴보도록 할까요? N = 6, K = 3 병사들은 1~6번까지, 원 형태로 앉아 있습니다. 이제 1번부터 2명이 남을 때까지 차례대로 죽여 나갈 건데, 아래 표에서 죽인다면, X를 표시해보도록 하지요. 또한, O는 죽어야 하는 놈을 가리키는 인덱스라고 하겠습니다. 1명 쨰, | 1 | 2 | 3 | 4 | 5 | 6 | | X | | | | | | | O | | | | | | 1번은 안타깝게도 묻지도 따지지도 않고 죽여야 합니다. 2명 째, | 1 | 2 | 3 | 4 | ..