본문 바로가기

분류 전체보기233

[백준][분할 정복] 1629 곱셈 c++구현 목차 https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 문제 문제 풀이 시 신경써야 할 점 시간 복잡도 -> 범위가 굉장히 넓기 때문에 for문을 쓸 경우 시간초과가 난다. 따라서 분할 정복을 통해 시간 복잡도는 O(logN)을 만들어 주어야 한다. int형 범위 -> int형 보다 훨씬 크기 때문에 long long int를 써주어야 한다 (a+b) % c = a%c + b%c (axb) % c = a%c x b%c 수학적 원리를 잘 이용해 초과를 막아야한다. 코드 구현 #include #include #in.. 2024. 3. 30.
[백준][스택] 3986 좋은 단어 c++구현 목차 https://www.acmicpc.net/problem/3986 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net 문제 문제 풀이 스택이 비어있다 -> 문자를 넣어준다. 스택이 비어있지 않다 -> 1.스택의 top값과 들어갈 값이 같으면 스택에서 pop해준다. 2.스택의 top값과 들어갈 값이 다르면 그냥 넣어준다. 문자열을 다 순회한후 스택이 비어있다면 1, 비어있지 않다면 0을 리턴해 준다. 코드 구현 #include #include #include using namespace std; int check(str.. 2024. 3. 30.
[백준][조합] 1940 주몽 c++구현 목차 https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 문제 문제 구현 방법 이중 for문을 통해 구현을 하거나 재귀함수를 통해 구현해서 풀면 되는 문제이다. 참고 https://be-senior-developer.tistory.com/49 순열과 조합 c++ 구현 목차 c++로 순열과 조합을 어떻게 구현하는지에 대해 알아보자 stl로 구현한 순열 #include #include #include using namespac.. 2024. 3. 30.
[백준][자료 구조] 1620 나는야 포켓몬 마스터 이다솜 c++구현 목차 https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 문제 문제 구현 방향 탐색 시간을 줄이기 위해서 string-int형식은 시간 복잡도가 O(logN)이 나오는 map을 이용해야 한다. int-string형식은 array는 O(1) map은 O(logN)이므로 어떤 것을 써도 크게 시간 차이는 나지 않는다. 문제 구현 시 주의점 ios_base::sync_with_stdio(false); 이것으로 입출력 시간을 .. 2024. 3. 28.
728x90