일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 동적프로그래밍
- 자바
- SNS
- 백트래킹
- 정수론
- 프로그래밍언어
- 기수정렬
- 알고리즘
- 힙정렬
- 선택알고리즘
- 정렬
- 자료구조
- 버블정렬
- C++
- DP
- 수학
- 병합정렬
- 다이나믹프로그래밍
- java
- 프로그래밍
- 삽입정렬
- 안드로이드
- 계수정렬
- 퀵정렬
- 선택정렬
- 백준
- 동적계획법
- 코딩테스트
- Median of Medians
- 재귀
- Today
- Total
목록BOJ (25)
MODE::CREATIVE
https://www.acmicpc.net/problem/1431문제 해석문제에 제시된 조건으로 문자열들을 정렬한다알고리즘 분류정렬풀이C++ STL인 sort(RandomAccessIterator first, RandomAccessIterator last, Compare comp) 함수에 문제에 제시된 비교조건을 구현하여 인자로 사용한다 코드#include #include #include #include #include using namespace std;bool cmp(const string &o1, const string &o2) { if (o1.length() != o2.length()) { return o1.length() > n; vector serials(n); ..
https://www.acmicpc.net/problem/1463문제 해석동적계획법을 이용하여 1로 만드는 연산의 최소값을 구한다알고리즘 분류동적계획법(dp)풀이dp[1], dp[2], dp[3]을 미리 초기화한다점화식을 세워 n까지 연산한다코드#include #include #include #include #include using namespace std;int dp[1000001];int main() { long n; dp[1] = 0; dp[2] = 1; dp[3] = 1; cin >> n; for (int i=4; i
https://www.acmicpc.net/problem/1735문제 해석최대공약수를 이용해 기약분수 구하기알고리즘 분류수학정수론유클리드 호제법풀이최대공약수를 구한다두 분수의 합의 분모와 분자를 최대공약수로 나눠 기약분수로 만든다코드#include #include #include #include #include using namespace std;int GCD(int a, int b) { while (b != 0) { int temp = a; a = b; b = temp % a; } return a;}int main() { int a,b,c,d; cin >> a >> b >> c >> d; int numerator = a * d +..
https://www.acmicpc.net/problem/1783문제 해석그리디 알고리즘을 이용한 최대방문 수 구하기알고리즘 분류그리디 알고리즘풀이세로가 1칸인 경우: 이동이 불가능하므로 1세로가 2인 경우: (m+1)/2, 4중 작은값가로가 7미만일때: m, 4중에 작은값이외의 경우: m - 7 + 5 코드#include #include #include #include #include #include using namespace std;int n,m; //세로, 가로int main() { cin >> n >> m; if (n == 1) { cout
https://www.acmicpc.net/problem/1929문제 해석에라토스테네스의 체를 이용해 소수 구하기알고리즘 분류수학정수론풀이에라토스테네스의 체를 이용해 N까지의 소수를 판별한다코드#include #include #include #include #include #include using namespace std;int m, n;int arr[1000001] = {0,};int main() { cin >> m >> n; arr[0] = 1; //소수가 아님 arr[1] = 1; for (int i=2; i
https://www.acmicpc.net/problem/1966 문제 해석큐를 이용한 우선순위 구하기알고리즘 분류자료구조큐풀이순서(num)와 우선순위(prioty)를 가진 class를 큐에 저장하고순회하며 제일 우선순위가 큰지 검사코드#include #include #include #include #include #include using namespace std;int n, m, t;class Num {public: int num; int prioty; Num(int a, int b) : num(a), prioty(b){}; };void solution() { cin >> n >> m; queue q; for (int i=0; i> prioty; q.p..