본문 바로가기

전체 글145

팩토리얼 0의 개수 #1676 c++ 풀이 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net #include #include #include #include #include using namespace std; int count5(int k) { int n = k; int count = 0; while (1) { if (n > n; int k = n; int cnt5 = 0; .. 2023. 10. 5.
이진탐색 단순 순회 알고리즘으로, 풀수 없는 백준 문제가 생겨나서 이진탐색 알고리즘을 복습하게 되었습니다. (1654번) 이진탐색 이란? - 정렬된 배열에서 검색 범위를 줄여 나가면서 검색 값을 찾는 알고리즘. 시간 복잡도 - O(logN) 정렬된 배열의 중간값을 임의로 선택하여 찾고자 하는 키(key) 값과 비교하는 탐색 알고리즘. 중앙값을 기준으로 왼쪽 오른쪽 탐색을 달리한다. 반복, 재귀, STL 이용하여 구현가능 //반복문을 이용한 이진탐색을 이용하여 탐색 bool BinarySearch(int *arr, int len, int key){ int start = 0; int end = len-1; int mid; while(end - start >= 0) { mid = (start + end) / 2; //.. 2023. 10. 4.
영화감독 숌 #1436 c++ 풀이 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 처음 생각한 풀이법 : 다 적어서, 뭔가 규칙을 찾아보려고 노력했던 것 같다. 20분정도 쓰다보니까 뭔가 규칙이 보일 것 같았으나, 생각이 바뀌어서 처음부터 그냥 세면 안되나? 시간이 오버되려나 하고 1억 번 정도 종말수를 찾아보자고 생각해서 풀었습니다. #include #include #include #include using namespace std; vector End; bool findE.. 2023. 10. 4.
단어정렬 #1181 c++ 풀이 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net #include #include #include #include #include using namespace std; vector s; map m; vector v; void filter1() { for (int i = 0; i < s.size(); i++) { m[s[i].length()].push_back(s[i]); //v[s[i].length()].push_back(s[i]); .. 2023. 10. 3.