12345678910111213141516171819202122232425262728//#define _CRT_SECURE_NO_WARNINGS#include //#include //using namespace std; int main(){ int min; //cin >> min >> max; scanf("%d", &min); while (min != 0) { bool* ary = new bool[min * 2 + 1]{ false }; ary[1] = true; int num = 0; for (int i = 2; i
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/KjDhn/btqxvo2GkWL/EANWouOjQst1tl1ZJOuqhK/img.png)
이 문제는 아래의 "알고리즘 분류"에 힌트가 있다. 에라토스테네스의 체. 간단히 설명하면, 2를 제외한 2의 배수를 소수의 후보에서 제외하고, 3을 제외한 3의 배수를 소수의 후보에서 제외, (4는 후보에서 제외되었으니 5를 제외한 5의 배수를 소수의 후보에서 제외.. 와 같은 식으로 원하는 범위까지의 소수를 구하는 방법이다. 근데 만약 100까지의 소수를 구한다고 가정하면, 굳이 2부터 100까지 1씩 늘려가며 모두 배수를 검사할 필요가 없다. 100의 절반인 50부터는 검사를 하나마나 남아있는 후보들의 배수는 범위 안에 없기 때문이다. 그러므로 최대 범위의 절반까지 배수를 구하면서 후보를 제외한다. 아래가 그 코드이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bZ3zVW/btqxwEw288w/e20K4R3YdhiCz1PxkqH19K/img.png)
문제는 위와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #include using namespace std; int gcd(int n, int m); int lcm(int n, int m); int main() { int repeat; cin >> repeat; for (int k = 0; k > M >> N >> x >> y; if (M
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bcr9Op/btqxtXqtL5H/CIKYetATzIZzEw1ytQXFE1/img.png)
11729번 하노이 탑 이동 순서 문제다. 일단 답부터 올리면.. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 //#include //#define _CRT_SECURE_NO_WARNINGS #include using namespace std; void hanoi(int from, int to, int size); int main() { int input, repeat; repeat = 0; //cin >> input; scanf("%d", &input); for (int i = 0; i
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/AnvlJ/btqxnmrSi19/fxsOS8P5C02TvzMb04h7pk/img.jpg)
입력과 출력을 보고 추론해서 코드를 짜는 문제다. 일단 백준 풀이 올리는 거 오랜만.. 요즘 안드로이드 공부해서.. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 #include #include using namespace std; void star(char** ary, int xpos, int ypos, int size); int main() { int input; cin >> input; char** ary = new char*[input]; for (int i = 0; i
12345678910111213141516171819202122232425262728#include int main() { int num; scanf("%d", &num); int set[9]; for (int i = 0; i 0); if (set[6] % 2 == 1) set[6] = set[6] / 2 + 1; else set[6] /= 2; for (int i = 1; i set[max]) max = i; printf("%d\n", set[max]); return 0;}cs 쉬운 문제는 따로 설명을 올리지 않습니다.다만 이 문제에서 주의할 점은 입력되는 숫자가 0일 수 있으니, 저는 무조건 반복문이 최소 한 번은 실행되도록 do-while문을 사용했습니다.
이번 문제는 1011번 Fly...여튼 문제이다.정답 비율이 27퍼센트밖에 되지 않아 걱정을 많이 했는데, 물론 좀 힘들긴 했지만 막 하루종일 고민하고 그런 정도는 아니었다.일단 문제를 읽은 후 메모장으로 정리를 해봤다. 행성간의 거리가 1일 경우에는 1번, 2일 경우에는 2번, 3일 경우에는 3번.. 1 -> 1 2 -> 2 3 -> 34 -> 3 5 -> 46 -> 4 7 -> 58 -> 59 -> 5 10 -> 611 -> 612 -> 6 13 -> 714 -> 715 -> 716 -> 7 17 -> 818 -> 819 -> 820 -> 8 2122232425 -> 9 위와 같은 방식으로 작동 횟수가 늘어나는 것을 알아냈다. 대충 보면 아무 규칙이 없는 것 같은데, 자세히 보면 규칙이 숨어있다. 그..
- Total
- Today
- Yesterday
- BFS
- BaekJoon
- 코딩
- DFS
- 완전탐색
- 파이썬
- 오픈소스
- 카카오
- 한화큐셀
- 구현
- 인공지능
- 정렬
- c
- Dynamic Programming
- 플로이드 와셜
- PyPy3
- 백트래킹
- 컨트리뷰톤
- 알고리즘
- webOS
- 이분탐색
- 피보나치
- 브루트포스
- LG
- c++
- DP
- 1932
- 백준
- 프로그래머스
- 동적 계획법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |