이 문제에서는 하나의 수 N이 주어지며, 3과 4로만 이루어진 숫자 체계에서 N번째 숫자를 찾아야 합니다.해당 숫자 체계는 3, 4, 33, 34, 43, 44, 333, 334, 343, 344, … 순서대로 구성됩니다.문제 이해를 위한 예시입력N = 6출력44설명숫자 체계의 요소는 다음과 같습니다 — 3, 4, 33, 34, 43, 44… 여기서 6번째 숫자는 44입니다.해결 접근 방법이 숫자 체계는 이진수 체계와 매우 유사합니다. 단, 숫자 0은 3으로, 숫자 1은 4로 대체된 형태입니다. 편의상 이를 sBinary라고 부르겠
이 문제에서는 하나의 수 N이 주어집니다. 우리의 목표는 N과 동일한 자릿수 집합을 사용하면서 N보다 큰 수 중 가장 작은 수, 즉 다음으로 큰 수를 찾는 것입니다.문제 이해를 위한 예시입력N = 92534출력9254392534와 같은 자릿수(9, 2, 5, 3, 4)로 만들 수 있는 수 중 92534보다 크면서 가장 작은 값이 92543이므로 정답은 92543입니다.해결 접근 방법다음으로 큰 수를 찾는 가장 간단한 방법은 다음 세 단계로 진행됩니다.숫자를 최하위 자릿수부터 최상위 자릿수까지 순회하면서, 현재 자릿수가 바로 앞 자릿
문제 개요 이 문제에서는 하나의 정수 N이 주어지며, N보다 큰 수들 중에서 소수이면서 동시에 회문(palindrome)인 가장 작은 수, 즉 다음 회문 소수를 찾는 것이 목표입니다. 문제 설명: N보다 큰 수 중에서, 소수이면서 회문이기도 한 가장 작은 수를 구합니다. 회문 수(Palindrome Number): 앞에서 읽으나 뒤에서 읽으나 같은 수를 의미합니다. 예: 121, 1331, 727 소수(Prime Number): 1과 자기 자신만을 약수로 가지는 1보다 큰 자연수입니다. 입력·출력 예시 입력 N = 12 출력
이 문제에서는 하나의 이진 트리(BT)와 키(key) 값이 주어지며, 우리의 과제는 주어진 키의 오른쪽 다음 노드를 찾는 것입니다.이진 트리(Binary Tree)는 데이터 저장을 위해 사용되는 대표적인 자료 구조로, 각 노드가 최대 두 개의 자식 노드(왼쪽 자식과 오른쪽 자식)를 가질 수 있는 구조입니다.문제 이해를 위한 예시다음과 같은 이진 트리가 있고, 찾고자 하는 키가 4라고 가정해 보겠습니다.입력key = 4출력5설명노드 4와 같은 레벨(깊이)에 있는 노드 중 바로 오른쪽에 위치한 요소는 5입니다. 따라서 결과값으로 5를
문제 이해하기이 문제에서는 n개의 정수로 이루어진 배열 arr[]가 주어집니다. 목표는 배열에서 다음 큰 요소(next greater)의 다음 작은 요소(next smaller)를 찾는 것입니다.즉, 각 요소에 대해 먼저 오른쪽에 있는 요소 중 현재 요소보다 처음으로 큰 요소(다음 큰 요소)를 찾고, 이어서 그 큰 요소를 기준으로 다시 오른쪽에 있는 요소 중 처음으로 작은 요소(다음 작은 요소)를 찾아야 합니다. 만약 다음 큰 요소 또는 다음 작은 요소가 존재하지 않는다면 -1을 반환합니다.입력 · 출력 예시입력arr[] = {4,
문제 개요이 문제에서는 정수 N이 주어지며, 우리의 과제는 N 다음으로 오는 희소 수(sparse number)를 찾는 프로그램을 작성하는 것입니다.희소 수(Sparse Number)란 이진수 표현에 인접한 두 개의 1이 존재하지 않는 특수한 유형의 숫자를 의미합니다.예시: 5(101), 16(10000)문제 설명 − 주어진 숫자 N보다 큰 수 중에서 가장 작은 희소 수를 찾아야 합니다.예제를 통해 문제를 이해해 보겠습니다.입력N = 7출력8설명8의 이진수 표현은 1000이며, 인접한 1이 없으므로 N보다 큰 가장 작은 희소 수입니
이 문제에서는 하나의 정수 N이 주어지며, n번째 에르미트 수(Hermite Number)를 구하는 프로그램을 작성하는 것이 목표입니다.에르미트 수란?에르미트 수는 변수가 없는 상태(인수가 0개)에서의 에르미트 다항식 값을 의미합니다. n번째 에르미트 수는 다음과 같은 재귀 관계식으로 정의됩니다.HN = (-2) × (N − 1) × H(N−2)초기값은 H₀ = 1, H₁ = 0입니다.이 정의에 따른 에르미트 수열은 다음과 같습니다.1, 0, −2, 0, 12, 0, −120, 0, 1680, 0 …홀수 번째 항은 모두 0이고, 짝
문제 소개이 문제에서는 하나의 정수 값 N이 주어지며, 우리의 목표는 수열 1, 6, 15, 28, 45, …에서 N번째 항을 찾는 프로그램을 작성하는 것입니다.이 수열의 흥미로운 성질은 모든 항이 자신의 이전 항과 다음 항의 평균보다 정확히 2만큼 작다는 점입니다.예제를 통한 문제 이해입력:N = 5출력:45해결 접근 방법수열 1, 6, 15, 28, 45, …의 N번째 항은 다음 공식을 사용하여 간단히 구할 수 있습니다.TN = 2*N*N - N이 수열은 인접한 항 사이의 차이가 5, 9, 13, 17처럼 매번 4씩 증가하는 형
이 문제에서는 두 개의 정수 N과 X가 주어지며, 우리의 목표는 디지털 루트가 X인 N번째 양수를 찾는 프로그램을 작성하는 것입니다. 디지털 루트(Digital Root)란? 디지털 루트는 어떤 수의 각 자릿수를 더하고, 그 합이 한 자리 숫자가 될 때까지 이 과정을 반복해서 얻은 한 자리 양의 정수를 의미합니다. 예를 들어 1234의 경우, 1+2+3+4 = 10이 되고, 다시 1+0 = 1이므로 디지털 루트는 1입니다. 문제 이해를 위한 예시 입력 N = 5, X = 4 출력 40 설명: 디지털 루트가 4인 양수는 4, 13
이 문제에서는 정수 N과, N번째 항을 이전 항들의 함수로 정의하는 재귀 관계식(점화식)이 주어집니다. 우리의 목표는 행렬 거듭제곱(Matrix Exponentiation) 기법을 활용해 N번째 항을 구하는 프로그램을 작성하는 것입니다.주어진 점화식은 다음과 같습니다.T(n) = 2 * T(n-1) + 3 * T(n-2)초기값: T(0) = 1, T(1) = 1문제 예시입력N = 4출력41풀이 과정T(4) = 2 * T(3) + 3 * T(2)T(4) = 2 * (2 * T(2) + 3 * T(1)) + 3 * (2 * T(1) +
이 문제에서는 정수 N이 주어졌을 때, 수열 1, 4, 15, 72, 420…의 N번째 항을 구하는 프로그램을 작성하는 것이 목표입니다.문제 이해하기먼저 예제를 통해 문제를 살펴보겠습니다.입력N = 4출력72N = 4가 입력되면 수열의 네 번째 항인 72가 출력되어야 합니다.해결 접근 방식가장 간단한 방법은 수열의 N번째 항에 대한 일반 공식을 찾는 것입니다. 이를 위해서는 먼저 수열의 패턴을 관찰한 뒤, 이를 일반화된 식으로 도출해야 합니다.주어진 수열은 팩토리얼(factorial)과 어떤 계수의 곱으로 분해해 볼 수 있습니다.1
이 문제에서는 하나의 정수 N이 주어지며, 우리의 목표는 수열 0, 2, 4, 8, 12, 18…의 N번째 항을 구하는 프로그램을 작성하는 것입니다.문제 이해를 위한 예시입력N = 5출력12해결 접근 방식이 문제를 가장 간단하게 해결하는 방법은 수열의 N번째 항에 대한 일반화 공식을 활용하는 것입니다. 이를 위해서는 먼저 수열의 패턴을 관찰한 뒤, 이를 수식으로 일반화해야 합니다.수열을 자세히 살펴보면 인접한 항 사이의 차이가 2, 2, 4, 4, 6, 6…처럼 두 번씩 반복되면서 증가하는 규칙성을 확인할 수 있습니다. 이러한 패턴
이 문제에서는 정수 N이 주어졌을 때, 수열 1, 2, 2, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8…에서 N번째 항을 구하는 프로그램을 작성하는 것이 목표입니다.이 수열은 2의 거듭제곱(1, 2, 4, 8, …)으로 이루어져 있으며, 각 값이 자기 자신만큼 반복되는 규칙을 가집니다. 즉, 1은 1번, 2는 2번, 4는 4번, 8은 8번 나타납니다.예제로 문제 이해하기입력N = 7출력4설명: 수열의 7번째 항은 4입니다.방법 1: 반복문을 이용한 단순 접근가장 직관적인 방법은 반복문을
문제 개요이 문제에서는 정수 N이 하나 주어지며, 우리의 목표는 수열 1, 1, 2, 6, 24, …의 N번째 항을 구하는 프로그램을 작성하는 것입니다.예시를 통해 문제를 이해해 보겠습니다.입력N = 7출력720설명주어진 수열은 다음과 같습니다 — 1, 1, 2, 6, 24, 120, 720. 따라서 7번째 항의 값은 720입니다.풀이 접근 방식수열을 자세히 관찰해 보면 각 항이 팩토리얼(factorial) 값으로 구성되어 있음을 알 수 있습니다. 즉, 이 수열은 0!, 1!, 2!, 3!, 4!… 순으로 진행되는 팩토리얼 수열입니
이 문제에서는 하나의 정수 N이 주어지며, 우리의 과제는 시리즈 1, 5, 32, 288, ...의 N번째 항을 구하는 프로그램을 작성하는 것입니다.문제 이해를 위한 예시입력N = 4출력288설명4번째 항 = (44) + (33) + (22) + (11) = 256 + 27 + 4 + 1 = 288수열의 규칙 분석이 수열의 각 항은 1부터 해당 순서까지의 거듭제곱 값(nn)을 모두 더한 누적합으로 구성됩니다. 규칙을 단계별로 살펴보면 다음과 같습니다.1번째 항: 11 = 12번째 항: 22 + 11 = 4 + 1 = 53번째 항:
이 문제에서는 하나의 정수 N이 주어지며, 우리의 목표는 수열 1, 6, 18, 40, 75, …에서 N번째 항을 찾는 프로그램을 작성하는 것입니다.문제 이해를 위한 예시입력N = 4출력40설명수열의 4번째 항은 다음과 같이 계산됩니다.(4 × 4 × 5) ÷ 2 = 40해결 방법이 문제를 해결하는 가장 간단한 방법은 수열의 N번째 항에 대한 일반 공식을 활용하는 것입니다. 분석해 보면 이 수열은 삼각수를 기반으로 하며, N번째 항은 아래 공식으로 표현할 수 있습니다.N번째 항 = (N × N × (N + 1)) / 2예를 들어 N
이 문제에서는 정수 N이 주어지며, 우리의 과제는 수열 1, 8, 54, 384...의 N번째 항을 구하는 프로그램을 작성하는 것입니다.예제를 통해 문제를 이해해 보겠습니다.입력N = 4출력384설명4번째 항 = 4 × 4 × (4!) = 16 × 24 = 384해결 접근 방법이 문제를 해결하는 가장 간단한 방법은 수열의 일반항 공식을 활용하는 것입니다. 먼저 수열의 패턴을 분석해 보면 다음과 같습니다.n = 1 → 1 × 1 × 1! = 1n = 2 → 2 × 2 × 2! = 8n = 3 → 3 × 3 × 3! = 54n = 4
이 문제에서는 하나의 정수 N이 주어지며, 수열 3, 14, 39, 84…의 N번째 항을 찾는 프로그램을 작성해야 합니다.문제 이해를 위한 예시입력N = 4출력84설명수열의 4번째 항은 다음과 같이 계산됩니다.(4 × 4 × 4) + (4 × 4) + 4 = 64 + 16 + 4 = 84즉, 각 항은 해당 위치 값 N에 대해 N³ + N² + N으로 표현할 수 있습니다. 실제로 1번째 항은 1+1+1=3, 2번째 항은 8+4+2=14, 3번째 항은 27+9+3=39로 수열과 정확히 일치합니다.해결 접근 방식이 문제를 해결하는 가장
이 문제에서는 정수 N이 주어지며, 수열 5, 2, 19, 13, 41, 31, 71, 57…의 N번째 항을 구하는 프로그램을 작성하는 것이 목표입니다. 예제를 통한 문제 이해 입력 N = 5 출력 41 설명 주어진 수열은 5, 2, 19, 13, 41, … 로 이어지며, 이 중 5번째 항은 41입니다. 해결 접근 방법 이 문제를 푸는 가장 간단한 방법은 수열의 n번째 항에 대한 일반 공식을 활용하는 것입니다. 이 수열은 N이 짝수일 때와 홀수일 때 서로 다른 공식을 따른다는 특징이 있습니다. N번째 항은 다음과 같이 정의할 수
이 문제에서는 정수 N이 주어지며, 수열 5, 13, 25, 41, 61, …의 N번째 항을 구하는 프로그램을 C++로 작성하는 것이 목표입니다.문제 이해를 위한 예시입력N = 5출력61설명주어진 수열은 5, 13, 25, 41, 61… 순서로 진행되며, 5번째 항은 61입니다.해결 접근 방법이 문제를 가장 간단하게 해결하는 방법은 수열의 일반항 공식을 활용하는 것입니다. 먼저 인접한 항 사이의 차이를 살펴보면 8, 12, 16, 20처럼 매번 4씩 증가하는 패턴을 보입니다. 이러한 규칙성은 2차 다항식으로 표현되는 수열의 전형적인