본문 바로가기

C++66

백준 7662번: 이중 우선순위 큐 (C++) https://www.acmicpc.net/submit/7662 우선 해당 문제는 바킹독님 강의를 참고하여 이진 검색 트리 알고리즘을 활용한 STL인 multiset을 활용하였다. 이 문제는 Key, value 대응 관계가 필요한건 아니니 map보다는 set이나 multiset(중복허용)이 적합하다. (최솟값 삭제 최댓값 삭제 모두 O(logN)) #include #include using namespace std; int main() { int t; cin >> t; while (t--) { int k; cin >> k; multiset ms; while(k--) { char c; cin >> c; if (c == 'D') { int num; cin >> num; if (ms.empty()) conti.. 2024. 1. 31.
백준 9375번: 패션왕 신해빈 [C++] https://www.acmicpc.net/problem/9375 해당 문제 같은경우는 hash_map 자체에 대한 이해도를 묻기보단 문제를 해석하는 센스와 수학적인 경우의수를 어떻게 쉽게 구할 수 있는지가 쟁점인 문제다. 입력으로 옷의 이름과 옷의 종류를 입력받는데 옷의 이름은 겹치지 않으므로 경우의 수를 구할 때 옷의 종류 만 생각하면 된다. 예를 들어서 옷의 종류가 양말, 모자, 상의 라고 가정하고 각각 다른 양말2개, 모자3개, 상의2개가 있다고 가정해보자 양말 안에서 선택할 수 있는 경우의수는 양말1 or 양말2 or 양말 선택 x 총3개 모자 안에서 선택할 수 있는 경우의수는 모자1 or 모자2 or 모자3 or 모자 선택 x 총4개 상의 안에서 선택할 수 있는 경우의수는 상의1 or 상의2o.. 2024. 1. 31.
백준 17219번: 비밀번호 찾기 [C++] https://www.acmicpc.net/problem/17219 #include #include using namespace std; int n,m; unordered_map um; int main() { cin >> n >> m; for(int i=0; i> add >> pass; um.insert(make_pair(add,pass)); } for(int i=0;i> add; if(um.find(add)!=um.end())cout N >> M; while (N--) { cin >> s >> p; umap[s] = p; } while (M--) { cin >> s; cout 2024. 1. 31.
백준 1620번: 나는야 포켓몬 마스터 이다솜 [C++] 알고리즘(코딩 테스트) 공부를 안한지 2달째.. 현업에서 막상 코드 유지보수 업무를 하다보니까 생각보다 코드를 건드리거나 구현할 일이 적은 것 같다. 그래서 알고리즘을 취미로 꾸준히 하려고 한다. 막상 오랜만에 다시 시작하니까 ㅋㅋㅋㅋㅋㅋㅋ 손이 안떨어진다... 코딩의 길 멀고도 험하다.. https://www.acmicpc.net/problem/1620 #include #include using namespace std; unordered_map p1; unordered_map p2; int n,m; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; string s; for (int i = 1; i > s; p1.insert(make_p.. 2024. 1. 31.