본문 바로가기

Algorithm

(2091)
(C++) - 백준(BOJ) 10872 : 팩토리얼 답 #include using namespace std; long long fac(long long num) { static long long mem[13]; if (mem[num] != 0) return mem[num]; if (num == 0 || num == 1) { return mem[num] = 1; } return mem[num] = num*fac(num - 1); } int main() { long long num; cin >> num; cout
(C++) - 백준(BOJ) 6359 : 만취한 상범 답 #include using namespace std; int main() {//2,4,6, 3,6,9 int T, jail, cnt = 0; cin >> T; for (int p = 0; p > jail; int *room = new int[jail];//감옥 방 만들기 for (int i = 0; i < jail; i++) { room[i] = 0;//0은 열림 1은 닫힘 } for (int k = 2; k < jail+2; k++)//라운드 jail만큼 { for (int i = 0; i < jail; i++) { if (k * (i + 1) - 1 < jail) { if (room[k * (i + 1) - 1] == 0) { room[k * (i + 1) - 1] = ..
(C++) - 백준(BOJ) 2864번 : 5와 6의 차이 답 #include #include using namespace std; int main() { int min,max; string A, B; cin >> A >> B; for (int i = 0; i < A.size(); i++) { if (A[i] == '5') { A[i] = '6'; } } for (int i = 0; i < B.size(); i++) { if (B[i] == '5') { B[i] = '6'; } } max = stoi(A) + stoi(B); for (int i = 0; i < A.size(); i++) { if (A[i] == '6') { A[i] = '5'; } } for (int i = 0; i < B.size(); i++) { if (B[i] == '6') { B[i] = '..
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 2566번:최댓값 답 123456789101112131415161718192021222324252627282930#include using namespace std;int main() { int arr[9][9]; int big[3][9] = { 0 }; int index; int max = 0; for(int i = 0; i arr[i][j]; if (arr[i][j] > big[0][i]) { big[0][i] = arr[i][j]; big[1][i] = i;//행 big[2][i] = j;//열] } } for (int i = 0; i max) { max = big[0][i]; index = i; } } cout
(C++) - 백준(BOJ) 13699번 : 점화식 https://www.acmicpc.net/problem/13699 13699번: 점화식 다음의 점화식에 의해 정의된 수열 t(n)을 생각하자: t(0)=1 t(n)=t(0)*t(n-1)+t(1)*t(n-2)+...+t(n-1)*t(0) 이 정의에 따르면, t(1)=t(0)*t(0)=1 t(2)=t(0)*t(1)+t(1)*t(0)=2 t(3)=t(0)*t(2)+t(1)*t(1)+t(2)*t(0)=5 ... 주어진 입력 0 ≤ n www.acmicpc.net dp 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 i항의 값을 저장할 일차원 t배열, int 형 변수 n을 선언 후 n을 입력받습니다. 📔 풀이과정 top down dp를 통해 답을 반환해줍니다. 재귀함수의 동작방식은 이렇습니다. 1. 기저 케이스는..
(C++) - 백준(BOJ) 13698 : Hawk eyes #include #include using namespace std; int main() { string word; int cup[4] = { 1,0,0,2 },a,b; cin >> word; for (int i = 0; i < word.size(); i++) { switch ((char)word[i]) { case 'A': swap(cup[0], cup[1]); break; case 'B': swap(cup[0], cup[2]); break; case 'C': swap(cup[0], cup[3]); break; case 'D': swap(cup[1], cup[2]); break; case 'E': swap(cup[1], cup[3]); break; case 'F': swap(cup[2], cup[3])..
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 2167번:2차원 배열의 합 답 123456789101112131415161718192021222324252627282930313233343536#include using namespace std;int main() { int N, M, K, i, j, x, y, sum; cin >> N >> M; int **arr = new int *[N]; for (int i = 0; i > K; for (int a = 0; a > i >> j >> x >> y; for (int t = i-1; t
(C++) - 백준(BOJ) 2757번 : 세수정렬 답 #include using namespace std; int compare(const void *a, const void *b) { return *(int*)a - *(int*)b; } int main() { int arr[3]; cin >> arr[0] >> arr[1] >> arr[2]; qsort(arr, 3, sizeof(int), compare); for (int i = 0; i < 3; i++) { cout