끄적끄적 코딩
article thumbnail
[C++] 백준 7287번 등록
알고리즘 2019. 3. 4. 23:57

백준 사이트 내에서 자신이 맞춘 문제의 수와 아이디를 출력하는 문제입니다. #include using namespace std; int main(int argc, char * argv[]) { cout

article thumbnail
[C++] 백준 1001번 A-B
알고리즘 2019. 3. 4. 23:50

입력 값 두개를 받은 후 두 값의 차를 출력하는 문제입니다. #include using namespace std; int main(int argc, char * argv[]) { int a, b; cin >> a; cin >> b; cout

article thumbnail
[C++] 백준 1000번 A+B
알고리즘 2019. 3. 4. 23:39

입력 A와 B를 받으면 두 값의 합을 출력하는 문제입니다. #include using namespace std; int main(int argc, char * argv[]) { int a, b; cin >> a; cin >> b; cout

article thumbnail
[C++] 백준 2557번 Hello World
알고리즘 2019. 3. 4. 23:37

문자를 출력해보는 문제입니다. #include using namespace std; int main(int argc, char * argv[]) { cout

article thumbnail
[C++] 백준 2839번 설탕 배달
알고리즘 2019. 2. 5. 04:15

N이라는 자연수를 3과 5를 최소한으로 이용해서 나누어 떨어지게 하는 문제입니다. 아래와 같은 경우가 있습니다. a%3 == 0 && a>=15 a%3 == 1 && a>=10 a%3 == 2 && a>=5 a%3 == 0 else a%3 == 0 && a>=15은 3으로 나누어 떨어지지만 15이상의 숫자이기 때문에 5로 나누면서 3으로 나누어떨어지게 5*3 = 15이므로 15로 나누어 줍니다. a%3 == 1 && a>=10은 3으로 나누었을때 1이 남습니다. 그래서 10이상의 숫자라면 10으로 나누어주면 3으로 나누어떨어지게 됩니다. a%3 == 2 && a>=5은 3으로 나누었을때 2가 남습니다. 그래서 5이상의 숫자라면 5로 나누어주면 3으로 나누어떨어지게 됩니다. a%3 == 0는 위와 같은 연..

article thumbnail
[C++] 백준 9095번 1,2,3 더하기
알고리즘 2019. 2. 3. 00:58

정수 n이 주어졌을 때, 1,2,3의 합으로 나타내는 방법의 수를 구하는 문제입니다. 여러번의 반복 작업이 있을때 유용하게 만들었다. 다이나믹 프로그래밍 기법으로 메모이제이션을 사용했습니다. 이 문제의 규칙은 1을 만드는 방법은 1가지 2를 만드는 방법은 2가지 3을 만드는 방법은 4가지 4를 만드는 방법은 1 + 2 + 4 = 7가지 5를 만드는 방법은 2 + 4 + 7 = 13가지 규칙은 현재 찾는 값이 5라면 2를 만드는 방법 = 2가지 3를 만드는 방법 = 4가지 4를 만드는 방법 = 7가지 2 + 4 + 7 = 13 5를 만드는 방법 = 13이 된다. 그렇기 때문에 x라는 값을 구하게 될때 x-1, x-2, x-3의 값이 있다면 편리하게 구할 수 있습니다. 전역변수로 memo[]에 코드가 실행되..

article thumbnail
[C++] 백준 11047번 동전 0
알고리즘 2019. 1. 29. 19:18

N개의 동전 종류가 있을 때 동전들을 합하여서 K라는 값을 최소한의 동전을 이용해서 만드는 문제입니다. 입력되는 수들이 오름차순으로 주어지기 때문에 큰값들부터 비교를 해서 찾는 값 K 보다 작으면서 가장 큰 값 v[i]를 value가 K를 넘지 않을때 까지 더합니다. 이와 동시에 카운트를 해줍니다. 이와 같은 과정을 반복하여 총 몇번의 카운트를 통해서 값을 찾을 수 있는지 확인할 수 있습니다. K보다 작은 가장 큰값들을 더해서 최소의 횟수를 찾았습니다. 이와 같은 알고리즘을 그리디 알고리즘이라고 합니다. #include #include using namespace std; int main(int argc, char * argv[]) { int N; int K; int x; int value = 0; in..

검색 태그