쾌락없는 책임 (공부)/알고리즘 문제풀이
-
[Algorithm] 프로그래머스 베스트 앨범 - C++, map, unordered_map쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 5. 13. 13:08
코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr #include #include #include #include #include using namespace std; bool cmp(const pair& a, const pair& b){ return a.second > b.second; } vector solution(vector genres, vector plays) { vector answer; unordered_map genresTimes; unordered_map musicInfo; // genres..
-
[Algorithm] 프로그래머스 신고 결과 받기 - C++, unordered_map, set쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 5. 12. 20:27
코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr #include #include #include #include #include using namespace std; vector solution(vector id_list, vector report, int k) { vector answer; answer.resize(id_list.size(), 0); unordered_map userIndex; unordered_map reportList; for(int i = 0; i < id_list.size();..
-
[Algorithm] 프로그래머스 위장 - C++, unordered_map쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 5. 11. 20:10
https://programmers.co.kr/learn/courses/30/lessons/42578 #include #include #include using namespace std; int solution(vector clothes) { int answer = 1; unordered_map map; for(auto cloth : clothes){ map[cloth[1]]++; } for(auto pair : map){ answer *= pair.second + 1; } return answer-1; } unordered_map을 잘 이해해두면 쉽게 풀 수 있는 문제였습니다. 옷의 카테고리를 key로 사용해 같은 카테고리의 옷끼리 묶어둔뒤 (각 카테고리에 있는 가짓수 + 1)을 전부 곱해준 뒤 1을 ..
-
[Algorithm] 프로그래머스 전화번호 목록 - C++, unordered_map쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 5. 11. 20:07
코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr #include #include #include using namespace std; bool solution(vector phone_book) { unordered_map numbers; for(int i = 0; i < phone_book.size(); i++){ numbers[phone_book[i]] = 1; } for(int i = 0; i < phone_book.size(); i++){ string prefix = ""; for(int j = 0;..
-
[Alogorithm] 백준 20366 같이 눈사람 만들래? - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 5. 10. 14:58
20366번: 같이 눈사람 만들래? 높이가 (2, 5), (3, 5)로 구성된 눈사람 둘을 만드는 것이 최적의 경우 중 하나이다. |7-8| = 1 다른 경우로는 (2, 9), (5, 5)로 두 눈사람을 만드는 경우가 있다. |11-10| = 1 www.acmicpc.net #include #include #include #include using namespace std; int n; vector snows; vector snowmans; bool Same(const pair& a, const pair& b){ if((a.first != b.first) && (a.first != b.second) && (a.second != b.first) && (a.second != b.second)) return ..
-
[Algorithm] 백준 2696 중앙값 구하기 : C++, 힙, 재채점 수정쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 5. 10. 13:36
2696번: 중앙값 구하기 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 수열의 크기 M(1 ≤ M ≤ 9999, M은 홀수)이 주어지고, 그 다음 줄부터 이 수열의 원소가 차례대로 주 www.acmicpc.net #include #include #include using namespace std; int t, m; long long input; int main(){ // init ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); // input cin >> t; while (t--){ priority_queue maxQ; priority_queue minQ; cin >> m; cout ..
-
[Algorithm] 백준 18405 경쟁적 전염 - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 5. 7. 12:04
18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net #include #include #include #include using namespace std; int n, k; int s, x, y; int map[201][201]; int moveY[] = { 0, 0, 1, -1 }; int moveX[] = { 1, -1, 0, 0 }; bool IsOut(int y, int x){ if(x n || y > n) return true; return ..
-
[Algorithm] 16928 뱀과 사다리 게임 - C++, BFS쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 5. 5. 16:03
16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x > from >> to; nextMap[from] = to; } int main(){ // init ios_base::sync_with_stdio(0); cin.tie(0); cout.ti..