title: "베스트앨범" category: 프로그래머스[Level-3] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-07" 문제 링크 베스트앨범 C++ #include #include #include #include #include using namespace std; bool cmp(pair a, pair b) { return a.second>b.second; } vector solution(vector genres, vector plays) { vector answer; int size=plays.size(); map genres_total; // 장르_총 플레이 횟수 map genres_plays; // 장르_[고유번호_플레이횟수] for(int i=0; i..
title: "입국심사" category: 프로그래머스[Level-3] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-06" 문제 링크 입국심사 C++ #include #include #include #include using namespace std; long long solution(int n, vector times) { long long answer = 0; stable_sort(times.begin(), times.end()); // 오름차순 long long rightT=(long long)times.front()*n; long long leftT=1; while(leftT=n) { // 모두 심사 가능한 경우 rightT=time-1; answer=tim..
title: "이중우선순위큐" category: 프로그래머스[Level-3] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-06" 문제 링크 이중우선순위큐 C++ #include #include #include using namespace std; vector solution(vector operations) { vector answer(2, 0); set nums; for(string opStr: operations){ if(opStr[0]=='I') nums.insert(stoi(opStr.substr(2))); else if(opStr=="D 1"&&nums.size()>0) nums.erase(--nums.end()); else if(opStr=..
title: "여행경로" category: 프로그래머스[Level-3] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-06" 문제 링크 여행경로 C++ #include #include #include using namespace std; string result=""; void dfsGo(vector& tickets, string total, vector& visited){ if(total.length()/3==tickets.size()+1){ if(result.empty()||total
title: "섬 연결하기" category: 프로그래머스[Level-3] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-05" 문제 링크 섬 연결하기 C++ #include #include #include #include #include using namespace std; bool cmp(vector a, vector b){ return a[2] a[2] - b[2]); const root = []; for (let i = 0; i < n; i++) root.push(i); for (const arr of costs) { const root1 = findRoot(root, arr[0]); const root2 = findRoot(root, arr[1]); if (..
title: "단어 변환" category: 프로그래머스[Level-3] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-05" 문제 링크 단어 변환 C++ #include #include #include using namespace std; bool compare(string a, string b){ // 비교 int count=0; for(int i=0; i { if (current === target) return depth; else { let count = 51; for (let i = 0; i < words.length; i++) { if (!visited[i] && compare(current, words[i])) { visited[i] = true; co..
title: "단속카메라" category: 프로그래머스[Level-3] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-05" 문제 링크 단속카메라 C++ #include #include #include using namespace std; bool cmp(vector a, vector b){ return a[1] a[1] - b[1]); // 나간 시점 기준 오름차순 let end = -30001; routes.forEach((v) => { const start = v[0]; if (start > end) { // 카메라 설치 지점보다 진입 시점이 클 때 answer++; end = v[1]; } }); return answer; }
title: "가장 먼 노드" category: 프로그래머스[Level-3] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-05" 문제 링크 가장 먼 노드 C++ #include #include #include #include #include using namespace std; int solution(int n, vector edge) { int answer = 0; // init map node; for(int i=0; i false); // 1 방문 visited[1] = true; for (let i = 0; i < adjList[1].length; i++) { const num = adjList[1][i]; visited[num] = true; queue.p..