JUNGOL
-
JUNGOL...104일지 2021. 7. 28. 13:52
Intermediate_Coder/분할정복/모자이크 문제 수찬이는 선생님을 도와서 교실 벽면을 장식할 모자이크 그림을 그리기로 하였다. 이를 위하여 직사각형 모양의 큰 도화지를 준비하여 교실 벽에 붙이고 1cm 간격으로 가로선과 세로선을 그려서 정사각형 모양의 칸을 만들고, 각 칸마다 같은 색의 물감으로 색칠을 하였다. 그런데 잘못 칠해진 칸이 있음을 발견하게 되었다. 수찬이는 도화지와 색깔이 같은 색종이를 사서 잘못 칠해진 칸에 색종이를 붙이고 다시 그리는 것이 좋겠다고 생각하고 선생님께 상의를 드렸다. 선생님께서는 정해진 장수의 색종이를 사용하여 아래와 같은 조건을 따르면서 잘못 칠해진 칸을 모두 가리되, 가장 작은 색종이의 크기를 구하는 새로운 문제를 내셨다. (조건 1) 사용되는 색종이는 모두 크..
-
JUNGOL...103일지 2021. 7. 27. 13:51
Intermediate_Coder/분할정복/제곱근 문제 임의의 정수 N이 주어졌을 때 N의 양의 제곱근의 정수부분을 출력하는 프로그램을 작성하라. 양의 제곱근이란 다음을 만족하는 수 X 를 뜻한다. N = X2 (X≥1) [ 주의 !!! ] sqrt와 같은 함수를 사용하지 말아야 하며 stdio.h 와 iostream 등 입출력 헤더에 있는 함수만이 사용가능하다. 이를 어길 경우 0점 처리한다. 입력 형식 입력에는 263-1 이하의 양의 정수 N이 입력된다 출력 형식 N의 제곱근의 정수부분을 출력한다. 입력 예 8 | 16 출력 예 2 | 4 Hint! hancomc@hotmail.net SquareRoot.h #include class SquareRoot : public Base { private: u..
-
JUNGOL...102일지 2021. 7. 26. 14:32
Intermediate_Coder/분할정복/제곱근 문제 임의의 정수 N이 주어졌을 때 N의 양의 제곱근의 정수부분을 출력하는 프로그램을 작성하라. 양의 제곱근이란 다음을 만족하는 수 X 를 뜻한다. N = X2 (X≥1) [ 주의 !!! ] sqrt와 같은 함수를 사용하지 말아야 하며 stdio.h 와 iostream 등 입출력 헤더에 있는 함수만이 사용가능하다. 이를 어길 경우 0점 처리한다. 입력 형식 입력에는 263-1 이하의 양의 정수 N이 입력된다 출력 형식 N의 제곱근의 정수부분을 출력한다. 입력 예 8 | 16 출력 예 2 | 4 Hint! hancomc@hotmail.net SquareRoot.h #include class SquareRoot : public Base { private: l..
-
JUNGOL...101일지 2021. 7. 25. 15:37
Intermediate_Coder/분할정복/Tutorial : 이진탐색(Binary Search-이진검색) 문제 [분할 정복 알고리즘(Divide and Conquer Algorithm)] 주어진 문제의 크기가 감당하기 어려운 경우 보다 작은 문제로 나누어 해결하는 방법(알고리즘)이다. 이진검색, 퀵정렬, 합병정렬 등이 대표적인 예이다. [이진 검색(Binary Search)] 이진 검색(탐색) 알고리즘이란 정렬된 데이터 리스트에서 목표값 또는 목표값이 있는 위치를 빠른 시간에 찾는 분할 정복 알고리즘 중에 하나이다. 예를 들어 정렬된 데이터 배열 A[]가 주어지고 목표값 target 을 찾는다고 가정해보자. 이때 첫 번째 원소의 인덱스는 low 이고, 마지막 원소의 인덱스는 high 라고 하자. 이제 ..
-
JUNGOL...100일지 2021. 7. 23. 16:56
Intermediate_Coder/분할정복/Tutorial : 이진탐색(Binary Search-이진검색) 문제 [분할 정복 알고리즘(Divide and Conquer Algorithm)] 주어진 문제의 크기가 감당하기 어려운 경우 보다 작은 문제로 나누어 해결하는 방법(알고리즘)이다. 이진검색, 퀵정렬, 합병정렬 등이 대표적인 예이다. [이진 검색(Binary Search)] 이진 검색(탐색) 알고리즘이란 정렬된 데이터 리스트에서 목표값 또는 목표값이 있는 위치를 빠른 시간에 찾는 분할 정복 알고리즘 중에 하나이다. 예를 들어 정렬된 데이터 배열 A[]가 주어지고 목표값 target 을 찾는다고 가정해보자. 이때 첫 번째 원소의 인덱스는 low 이고, 마지막 원소의 인덱스는 high 라고 하자. 이제 ..
-
JUNGOL...99일지 2021. 7. 22. 14:36
Intermediate_Coder/분할정복/Tutorial : 이진탐색(Binary Search-이진검색) 문제 [분할 정복 알고리즘(Divide and Conquer Algorithm)] 주어진 문제의 크기가 감당하기 어려운 경우 보다 작은 문제로 나누어 해결하는 방법(알고리즘)이다. 이진검색, 퀵정렬, 합병정렬 등이 대표적인 예이다. [이진 검색(Binary Search)] 이진 검색(탐색) 알고리즘이란 정렬된 데이터 리스트에서 목표값 또는 목표값이 있는 위치를 빠른 시간에 찾는 분할 정복 알고리즘 중에 하나이다. 예를 들어 정렬된 데이터 배열 A[]가 주어지고 목표값 target 을 찾는다고 가정해보자. 이때 첫 번째 원소의 인덱스는 low 이고, 마지막 원소의 인덱스는 high 라고 하자. 이제 ..
-
JUNGOL...98일지 2021. 7. 20. 16:02
Beginner_Coder/재귀/싸이클 문제 두 자연수 N과 P를 가지고 다음 과정을 거쳐서 나오는 숫자들을 차례대로 출력해보자. 처음 출력하는 숫자는 N이고, 두 번째 이후 출력하는 숫자들은 N을 곱하고 P로 나눈 나머지를 구하는 과정을 반복하여 구한다. 즉, 먼저 N에 N을 곱하고, 이 수를 P로 나눈 나머지를 두 번째에 출력한다. 다음에는 이 나머지에 N을 곱하고 P로 나눈 나머지를 출력한다. 다음에는 이 나머지에 N을 곱한 후 P로 나눈 나머지를 출력한다. 이 과정을 계속 반복해보면 출력되는 숫자들에는 반복되는 부분이 있다. 예를 들어서, N=67, P=31인 경우를 생각해보자. 처음 출력되는 숫자는 67이고, 두 번째로 출력되는 숫자는 67×67=4489를 31로 나눈 나머지 25이다. 다음에는..
-
JUNGOL...97일지 2021. 7. 19. 14:29
Beginner_Coder/재귀/다음 조합(next combination) 문제 1부터 N까지의 N개의 정수 중에서 K개를 뽑아낼 때 가능한 경우들을 조합이라고 한다. 예를 들어 N=5고 K=3일 경우 가능한 모든 조합은 다음과 같다 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5 [ 1 2 3 ] 과 [ 3 1 2 ] 와 같이 순서는 다르나 뽑힌수가 같은 경우는 한가지로 간주한다. 다시 말해서 뽑힌 순서는 고려하지 않는다는 것이다. N과 K가 입력되고 N과 K에서 가능한 조합 중 하나가 입력될 경우, 조합들을 오름차순으로 정렬 했을 때 다음으로 나오는 조합을 출력하는 프로그램을 작성하라. 입력 형식 입력의 첫번째 줄에는 N과 K가 입력된다(5≤..