목록백준/백준-C++ (193)
VioletaBabel
12345678910111213141516171819#include#include//#includeusing namespace std;#define swap(a,b) {int t;t=a;a=b;b=t;}int main(){ int n, ans[100], s; scanf("%d", &n); for (int i = 0; i 0; --s, --j) swap(ans[j], ans[j - 1]); } for (int i = 0; i
12345678910111213141516171819202122232425262728#includeusing namespace std;int main(){ int n; cin >> n; for (int i = 0; i
12345678910111213141516171819202122232425262728293031#include#includeusing namespace std;int main(){ int n, *num, m, mnum, ans = 0; scanf("%d", &n); num = new int[n]; for (int i = 0; i
12345678910111213141516#includeint main(){ int n, sp = 0, st; scanf("%d", &n); st = 2 * n - 1; for (int i = n; i--; printf("\n")) { for (int i = 0; i
123456789101112131415161718192021222324252627#includeint main(){ int n, sp, st = 1; scanf("%d", &n); sp = n - 1; for (int i = n; i--; printf("\n")) { for (int i = 0; i
1234567891011121314151617#includeint main(){ int n, sp, st = 1; scanf("%d", &n); sp = n - 1; while (n--) { for (int i = 0; i
1234567891011121314151617181920212223242526272829303132333435363738394041#includeint main(){ int n, v = 0, h = 0, temp = 0; char room[100][101]; scanf("%d", &n); for (int i = 0; i 1) ++v; } for (int i = 0; i 1) ++h; } printf("%d %d", v, h);}Colored by Color Scriptercs
123456789101112131415161718192021222324252627#include#includeusing namespace std;int main(){ int n, b, c, temp; long long int ans = 0; vector a; scanf("%d", &n); for (int i = n; i--; a.push_back(temp)) scanf("%d", &temp); scanf("%d %d", &b, &c); for (int i = 0; i
재귀로 풀기 적당한 문제'n번째 ~를 계산하는 알고리즘''첫 n개를 나열하는 코드''모든 ~를 계산하는 메소드' --접근법 1. 상향식 접근법가장 간단한 경우에 대한 풀이법보터 발견한 후 점진적으로 늘려간다. 2. 하향식 접근법문제들을 어떻게 하면 부분적으로 나눌 수 있는지 생각해본다.나뉜 부분문제들이 서로 겹치지 않도록 주의한다. 3. 반반 접근법절반씩 재귀적으로 탐색해나가는 방법ex) 병합 정렬 --재귀적 해법 vs 순환적 해법재귀적 알고리즘은 공간 효율성에 좋지 않다.허나 순환적으로 구현된 코드가 더 복잡할 때가 많다. --동적 계획법재귀적 알고리즘과 반복적으로 호출되는 부분 문제를 찾는 것이 관건.상향식 접근을 동적 프로그래밍, 하향식 접근을 메모이제이션이라고 함. --피보나치 수 구하기 1. 하..
1234567891011121314151617#include#define m(a,b) (((a)