본문 바로가기

Algorithm/프로그래머스139

[프로그래머스]힙(Heap) : 디스크 컨트롤러 (level 3) (c++) https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를�� programmers.co.kr #include #include #include #include using namespace std; struct work { int in, w_time; }; struct compare { bool operator()(work& a, work& b) { return a.w_time > b.w_time; } }; int solution(vector jo.. 2020. 6. 20.
[프로그래머스]해시 : 베스트앨범 (level 3) (c++) https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 �� programmers.co.kr #include #include #include #include using namespace std; struct song{ int num, play_cnt; string genre; }; unordered_map genre_cnts; bool compare(song &a, song &b) { // 1. 장르별 플레이 횟수 내림차순 if (genre_cn.. 2020. 6. 19.
[프로그래머스]탐욕법(Greedy) : 저울 (level 3)(c++) https://programmers.co.kr/learn/courses/30/lessons/42886 코딩테스트 연습 - 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 합니다. 이 저울의 양팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같습니다. 또한, 저울의 한쪽에는 저울추들 programmers.co.kr #include #include #include using namespace std; int solution(vector weight) { // 오름차순 정렬 sort(weight.begin(), weight.end()); int sum = 0; for (int w : weight) { /* S[i] = a[0] + ... + a[i] 라 할때, S[i] + 1 .. 2020. 6. 19.
[프로그래머스]탐욕법(Greedy) : 단속카메라 (level 3)(c++) https://programmers.co.kr/learn/courses/30/lessons/42884 코딩테스트 연습 - 단속카메라 [[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr #include #include #include using namespace std; int solution(vector routes) { // 끝점을 기준으로 오름차순 정렬 sort(routes.begin(), routes.end(), [](vector &a, vector &b) { return a[1] < b[1]; }); /* 카메라를 설치하는 기준 : 기준끝점(std_end)이 다음차의 시작점보다 작을 때 (=영역이 겹치지 않을 때) 기준끝점에 카메라를 설치한.. 2020. 6. 19.