[Algorithm] 프로그래머스 : 다리를 지나는 트럭
·
Algorithm
안녕하세요, 루피입니다. 오늘은 프로그래머스 다리를 지나는 트럭문제 풀이를 정리 해보려합니다. 바로 시작합니다.문제 풀이#include #include #include using namespace std;int solution(int bridge_length, int weight, vector truck_weights) { int time = 0; int current_weight = 0; queue bridge; for (int i = 0; i 이번 문제의 핵심은 다리라는 큐를 만들어 내는 것이라고 생각합니다. bridge 라는 큐를 만듭니다.대기 트럭을 순서대로 확인합니다.현재 트럭이 다리에 올라갈 때까지 시간을 보냅니다.(while 문)시간 경과다리가 꽉 차 있으..
[Algorithm] 프로그래머스 : 프로세스
·
Algorithm
안녕하세요, 루피입니다.오늘은 프로그래머스 프로세스 문제 풀이를 간단하게 정리해보려합니다. 바로 시작합니다.문제 풀이#include #include #include using namespace std;int solution(vector priorities, int location) { int answer = 0; queue> q; for(int i=0;i pq; for(auto i : priorities) pq.push(i); while(!q.empty()) { int current_priority = q.front().first; int current_location = q.front().second; q.pop(); ..
[Algorithm] 프로그래머스 : 기능개발
·
Algorithm
안녕하세요, 루피입니다.오늘은 프로그래머스 기능개발 풀이를 기록하려합니다. 바로 시작합니다.문제 분석먼저 문제의 요구사항을 명확히 해야 합니다.각 기능은 100%가 되어야 배포 가능합니다.각 기능의 개발 속도는 모두 다릅니다.핵심 규칙: 뒤에 있는 기능이 먼저 개발되더라도, 앞에 있는 기능이 배포될 때 함께 배포됩니다.예를 들어, 1번 기능이 7일 걸리고 2번 기능이 3일 걸린다면, 2번 기능은 3일 만에 완성되지만 1번 기능이 배포되는 7일 차에 함께 배포됩니다. 즉, 우리는 배포 그룹의 크기를 구해야 합니다.풀이 전략이 문제의 핵심은 "먼저 들어온 기능이 먼저 배포되어야 한다"는 점입니다. 이 규칙은 자료구조 큐(Queue)의 FIFO(First-In, First-Out) 특성과 정확히 일치합니다.전..
[Algorithm] 프로그래머스 : 같은 숫자는 싫어
·
Algorithm
안녕하세요, 루피입니다.오늘은 프로그래머스 '같은 숫자는 싫어'라는 문제 풀이를 기록해보려 합니다. 바로 시작합니다.문제 분석이 문제는 아주 간단합니다. 배열 arr가 주어지면, 이 배열에서 연속적으로 나타나는 중복된 숫자들을 제거하고 남은 숫자들을 순서대로 반환하면 됩니다.입력: [1, 1, 3, 3, 0, 1, 1]출력: [1, 3, 0, 1]입력: [4, 4, 4, 3, 3]출력: [4, 3]연속된 숫자를 어떻게 효과적으로 처리할지가 이 문제의 핵심입니다.스택을 이용한 첫 번째 풀이가장 먼저 떠올릴 수 있는 방법 중 하나는 스택(Stack)을 활용하는 것입니다. 스택의 LIFO(Last-In, First-Out) 특성을 이용하면, 가장 최근에 추가한 원소와 현재 원소를 비교하기가 매우 용이하기 때문..