본문 바로가기

Algorithm/Implementation

(517)
(C++) - 백준(BOJ) 2720 : 세탁소 사장 동혁 답 #include using namespace std; int m[4] = { 25,10,5,1 },t,c; int main() { cin >> t; while (t--) { cin >> c; for (int i = 0; i < 4; i++) { cout
(C++) - 백준(BOJ)코딩 3058번 : 짝수를 찾아라 www.acmicpc.net/problem/3058 3058번: 짝수를 찾아라 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 7개의 자연수가 공백으로 구분되 www.acmicpc.net loop를 사용해 짝수 번째 값의 최소를 찾는 문제였습니다. Code #include using namespace std; int main() { int n,a[7],sum,min; cin >> n; while (n--) { sum = 0; min = 101; for (int i = 0; i > a[i]; if (a[i] % 2 == 0) { sum += a[i]; if (a[i]..
(C++) - 백준(BOJ)코딩 1075번 : 나누기 답 https://www.acmicpc.net/problem/1075 간단한 구현 문제였습니다. 12345678910111213141516171819#include using namespace std;int n, f;int main() { cin >> n >> f; n -= n % 100; for (int i = 0; i
(C++) - 백준(BOJ) 10830번 : 행렬 제곱 답 문제링크 : https://www.acmicpc.net/problem/10830 행렬 제곱을 구현해보는 문제였습니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include using namespace std;long long a[6][6],ans[6][6],c[6][6],n,b;void cal(long long a[6][6], long long b[6][6]){ for (int i = 1; i 0) { if (b % 2 == 1)//지수가 홀수면 { cal(ans, a); } cal(a, a); b /= 2; } for (int i = 1; i
(C++) - 백준(BOJ) 1629번 : 곱셈 답 https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 풀이방법 a^b%c를 구하는 문제다. a를 b번 곱하게 되면 O(b)의 시간이 거리게 되지만 a ^ b/2 * a ^ b/2 로 곱하게 된다면 시간은 O(2 * logN)의 시간이 걸린다. 따라서 이 문제는 분할 정복 문제라고 볼 수 있다. Code #include using namespace std; long long a, b, c; long long cal(long long a, long long b, long long c) { if (b == 0) { re..
(C++) - 백준(BOJ) 1991번 : 트리 순회 https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1≤N≤26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 영문자 www.acmicpc.net 트리순회를 구현해보는 문제였습니다. 풀이방법 전위순회(preorder) : 루트 -> 왼쪽 자식 -> 오른쪽 자식 중위순회(inorder) : 왼쪽 자식 -> 루트 -> 오른쪽 자식 후위순회(postorder) : 왼쪽 자식 -> 오른쪽 자식 -> 루트 Code #include using namespace std; int n, a[26][2]; void preOrder(int x){ if(x..
(C++) - 백준(BOJ) 2711번 : 오타맨 고창영 https://www.acmicpc.net/problem/2711 2711번: 오타맨 고창영 첫째 줄에 테스트 케이스의 개수 T(1 T; for (int i = 0; i > index >> w; for (int i = 0; i < w.size(); i++) { if (i != index - 1) cout
(C++) - 백준(BOJ) 10170번 : NFC West vs North #include using namespace std; int main() { cout