백준 2751번 C/C++ www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 이 문제는 제가 알고리즘 공부에 올렸었던 merge sort를 활용하면 쉽게 풀 수 있습니다. 하지만 제가 올렸던 그대로 merge sort를 사용하면 아마 풀리지 않으실 것입니다. 그 이유는 배열의 크기 때문인데요. 배열의 크기가 충분하지 않아서 그렇습니다. 제가 풀었던 코드는 다음과 같습니다. #define _CRT_SECURE_NO_WARNINGS #include int b[10000000];.. 2021. 2. 15. 백준 2292번 C/C++ 오늘은 설날입니다. 설 같은 명절에도 코딩으로 시작해야 한 해 동안 노력을 할 수 있겠죠..? www.acmicpc.net/problem/2292 [ 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net ](https://www.acmicpc.net/problem/2292) 이번에 걸린 문제는 매우 쉬운 문제였습니다. 규칙만 찾는다면 누구나 쉽게 풀 수 있는 문제였습니다. 굳이 이런 문제를 찾지는 않으실 것 같지만 일단 규칙 먼저 말씀드리겠습니다. 문제에 있는 그림이 매우 복잡해보여서 풀기 싫어보기지만 규칙성을 찾으면 코딩.. 2021. 2. 12. 백준 2231번 C/C++ 이 문제가 조금 글이 이상하게 적혀있어서 이해를 못해서 블로그 글을 찾는 사람이 많을 것 같아서 먼저 이렇게 문제 이해를 도와드리겠습니다. acmicpc.net/problem/2231 [ 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net ](http://acmicpc.net/problem/2231) 예시에서 245의 분해합이 256이라고 한다. 245 + 2 + 5 + 6이라서 256이다. 이 256을 분해합으로 가지는 가장 작은 수를 구하라는 것이 이 문제의 물음이다. 참고로 25.. 2021. 2. 8. 백준 2614번 C/C++ 먼저 코드부터 올리겠습니다. #define _CRT_SECURE_NO_WARNINGS #include int list[1000000] = { 0, }; int main() { int n; //n장의 카드, 1이 제일 위 n이 제일 아래인 상태이다. scanf("%d", &n);//n값 받음. for (int i = 1; i 2021. 2. 8. merge sort - 병합 정렬 정리 이번에 알고리즘 공부를 하며 알게 된 merge sort에 대해서 정리를 해보겠습니다. 이 sort를 이해하기 위해서는 기본적으로 재귀함수에 대해서 알고 계셔야합니다. 재귀함수란 함수 자신이 자신을 다시 부르는 함수를 의미합니다. 그리고 재귀함수 내에서 정해진 return에 알맞은 조건을 만족하게 되면 return을 하여 값을 도출하는 형태입니다. 글로만 설명하니 너무 어려운것 같아서 재귀함수부터 간단히 그림으로 설명드리겠습니다. 이처럼 자신의 복사본을 불러서 계산을 하고 return되는 조건에 알맞으면 return이 되는 형식을 재귀함수라고 부른다. 검은 글자가 자신의 복사본을 늘려가는 과정이고 붉은 글씨가 int값이 정해져서 return되고 있는 상황입니다. 처음으로 이렇게 그림을 그려서 설명을 해봤.. 2021. 2. 7. 백준 10163번 C/C++ 문제에서 딱 봐도 2차원 배열을 사용하라는 듯이 나왔다 그래서 간단하게 풀 수 있었습니다. #include int main() { int n; int a, b, x, y; int count; int nemo[101][101]; scanf_s("%d", &n); for (int i = 1; i 2020. 9. 6. 이전 1 ··· 27 28 29 30 31 다음