전체 글 (2344) 썸네일형 리스트형 (C++) - 백준(BOJ) 5073번 : 삼각형과 세 변 12345678910111213141516171819202122232425262728293031323334353637#include #include using namespace std;int triangle[3]; int main() { while (1) { for (int i = 0; i > triangle[i]; } if (triangle[0] == 0 && triangle[0] == triangle[1] && triangle[0] == triangle[2]) { break; } sort(triangle, triangle + 3);//오름차순으로 정렬 if (triangle[2] >= triangle[1] + triangle[0]) { cout (C++) - 백준(BOJ) 5032번 : 탄산음료 12345678910111213#include using namespace std;int main() { int e, f, c,total=0; cin >> e >> f >> c; int empty_cola = e + f; //빈 병의 개수 while (empty_cola >= c) { total += empty_cola / c; //빈 병을 탄산음료로 교환한다. empty_cola = empty_cola/c + empty_cola%c; //교환한 탄산음료도 빈 병이 될 수 있으므로 이를 교환하고 남은 빈 병에 더해준다. } cout (C++) - 백준(BOJ) 2869번 : 달팽이는 올라가고 싶다 1234567891011121314151617#include #include using namespace std; int r, l;int main() { int a, b, v, ans = 0; cin >> a >> b >> v; //낮에는 a미터 올라가고 b미끄러짐 정상에 올라가면 미끄러지지 않음 //a는 무조건 a-b보다 크다 //따라서 v-a 가 a-b로 나누어떨어지면 a만큼만 올라가면 되므로 ans 는 (v-a) / (a-b) + 1이다 //나누어 떨어지지 않는다면 a+(a-b보다 작은 거리) 만큼 올라가야하므로 하루가 더 필요하므로 ans 는 (v-a) / (a-b) + 2이다 int last = v - a; if (last % (a - b) == 0) { ans = last / (a - b) +.. (C++) - 백준(BOJ) 11729번 : 하노이 탑 이동 순서 https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 분할정복 문제였습니다. 풀이방법 1. 1 -> 2로 n-1개 원판 옮김 2. 1 -> 3로 남은 한 개(가장 큰 원판) 옮김 3. 2 -> 3로 n-1개 원판 옮김 이 규칙을 적용하면 됩니다. Code #include using namespace std; //n-1개를 2로 옮기고 //마지막 남은 가장 큰 원판을 3으로 옮긴 뒤 //2에 있는 n-1개의 원판을 3으로 옮겨준다. int.. (C++) - 백준(BOJ) 12738번 : 가장 긴 증가하는 부분 수열 3 12345678910111213141516171819202122232425262728293031323334#include #include #include #include #define MIN -2000000000using namespace std;int n,cnt;int a[1000001];vector ans ;int main() { cin >> n; ans.push_back(MIN); for (int i = 0; i > a[i]; } for (int i = 0; i (C++) - 백준(BOJ) 12015번 : 가장 긴 증가하는 부분 수열 2 123456789101112131415161718192021222324252627282930313233#include #include #include #include using namespace std;int n,cnt;int a[1000001];vector ans ;int main() { cin >> n; ans.push_back(-1); for (int i = 0; i > a[i]; } for (int i = 0; i (C++) - 백준(BOJ) 1330번 : 두 수 비교하기 간단한 if 문이었습니다. 12345678910#include using namespace std;int main() { int a, b; cin >> a >> b; if (a > b) { cout (C++) - 백준(BOJ) 11054번 : 가장 긴 바이토닉 부분 수열 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556//3가지 경우가 있다.//1.배열의 끝까지 증가하는 경우//2.배열의 끝까지 감소하는 경우//3.배열이 증가하다가 기준값을 담고 있는 인덱스 이후부터 감소하는 경우 //이 모두를 포함하는 방법은 가장 긴 증가하는 부분수열을 인덱스 양쪽 끝에서 시작해서 각자 구한다음//그 두 배열의 합 중 가장 큰 값이 최대 바이토닉 수열의 길이가 된다.#include #include #include using namespace std;int main() { int n; int ans = 0; cin >> n; int *a = new in.. 이전 1 ··· 230 231 232 233 234 235 236 ··· 293 다음