이 문제에서 정수 값 N이 주어집니다. 우리의 임무는 시리즈 1 + 22 + 333 + 4444 + 55555... 최대 n항의 합을 찾는 것입니다. . 문제를 이해하기 위해 예를 들어 보겠습니다. Input : N = 4 Output : 4800 설명 - 1 + 22 + 333 + 4444 = 4800 솔루션 접근 방식 문제를 해결하는 간단한 방법은 급수의 일반항을 찾은 다음 n항까지 합을 찾는 것입니다. 그리고 공식을 사용하여 합계를 계산하면 시간이 O(1)로 단축됩니다. 시리즈는, 1 + 22 + 333 + 444
이 문제에서는 문자 M과 F로만 구성된 문자열과 시간 t가 제공됩니다. 우리의 임무는 주어진 시간에 대기열의 배열을 찾는 것입니다. . 문자열은 버스에 입장하기 위해 공통 대기열에 서 있는 사람들을 정의합니다. 대기열에 있는 모든 수컷은 너무 기사도가 높아서 언제라도 뒤에 있는 암컷을 보면 자리를 바꿉니다. 버스에 탑승하는 데 t 단위 시간이 남았고 각 교환에는 1 단위 시간이 걸립니다. 대기열을 재정렬하여 버스가 올 때 위치를 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input : queue = "
이 문제에서는 숫자 n이 주어집니다. 우리의 임무는 처음 N개의 자연수의 평균을 찾는 것입니다. . 평균 숫자 모든 숫자의 합을 총 숫자로 나눈 값입니다. N개의 자연수의 평균은 처음 N개의 자연수의 합을 N으로 나눈 것으로 정의됩니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input : N = 23 Output : 12 설명 - 1 + 2 + 3 + ... + 22 + 23 = 276 276 / 23 = 12 해결 방법 숫자의 평균을 찾기 위해 평균 공식을 사용합니다. 평균 =합계(N) / N 평균 =(1 +
이 문제에서는 이진 트리가 제공됩니다. 우리의 임무는 이진 트리에서 가장 깊은 노드를 찾는 것입니다. . 이진 트리는 데이터 저장 목적으로 사용되는 특수 데이터 구조입니다. 바이너리 트리에는 각 노드가 최대 2개의 자식을 가질 수 있다는 특수한 조건이 있습니다. 이진 트리에서 가장 깊은 노드 트리에서 가능한 최대 높이에 있는 노드입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: 출력 :8 솔루션 접근 방식 이 문제를 해결하는 방법은 여러 가지가 있을 수 있습니다. 높이를 찾아 트리를 가로질러 높이의 마지막
이 문제에서는 직각 삼각형의 빗변과 면적을 나타내는 두 개의 값 H와 A가 주어집니다. 우리의 임무는 직각 삼각형의 치수를 찾는 것입니다. . 직각 삼각형 두 변이 직각으로 교차하는 특수한 유형의 삼각형입니다. Fig :직각삼각형 문제를 이해하기 위해 예를 들어 보겠습니다. Input : H = 7 , A = 8 Output : height = 2.43, base = 6.56 해결 방법 이 문제에 대한 해결책은 값에 대한 수학 공식을 사용하여 찾을 수 있습니다. 여기에서 파생시켜 보겠습니다. $A\:=\:1/2^*h^
이 문제에서 우리는 쉼표로 구분된 단어로 구성된 문자열 str입니다. 우리의 임무는 문자열에서 첫 번째 최대 길이(짝수 단어)를 찾는 것입니다. . 길이가 최대이고 짝수인 가장 큰 단어 두 공백 사이의 문자열을 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input : str = "learn programming at TutorialsPoint" Output : TutorialsPoint 설명 - The string with even length is TutorialsPoint. 솔루션 접
이 문제에서 우리는 쉼표로 구분된 단어로 구성된 문자열 str입니다. 우리의 임무는 문자열에서 처음으로 반복되는 단어를 찾는 것입니다. . 문자열에서 반복되는 첫 번째 단어 두 공백 사이의 문자열을 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input : str = "C program are easy to program" Output : program 솔루션 접근 방식 문제에 대한 간단한 솔루션은 해시맵 데이터 구조를 사용하는 것입니다. 첫 번째 반복 단어를 찾기 위해 해시맵에 각 단어와
이 문제에서 우리는 n개의 정수 값의 배열 arr입니다. 우리의 임무는 정수 배열에서 첫 번째 반복 요소를 찾는 것입니다. . 배열에서 두 번 이상 발생한 배열의 첫 번째 정수 값을 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input : arr[] = {4, 1, 8, 9, 7, 2, 1, 6, 4} Output : 4 설명 - Integers with more than one occurrence are 4 and 1. 4's first occurrence is smaller than 1. Henc
이 문제에서 우리는 정수 값 N입니다. 우리의 임무는 처음 N개의 자연수의 좋은 순열을 찾는 것입니다. . 순열은 배열의 순서와 관련하여 개체 집합의 전체 또는 일부를 배열하는 것입니다. 좋은 순열 $1\leqslant{i}\leqslant{N}$ 다음에 오는 순열입니다. $P_{pi}\:=\:i$ $P_{p!}\:=\:i$ 문제를 이해하기 위해 예를 들어 보겠습니다. Input : N = 1 Output : -1 솔루션 접근 방식 문제에 대한 간단한 해결책은 순열을 찾는 것입니다. p와 같은 pi =나. 그런 다음
이 문제에서는 직각 삼각형의 높이와 밑변을 정의하는 두 개의 정수 값 H와 B가 주어집니다. 우리의 임무는 주어진 두 변이 있는 직각 삼각형의 빗변을 찾는 것입니다. . 직각 삼각형은 두 각이 직각인 특수한 삼각형입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input : B = 5, H = 12 Output : 13.00 솔루션 접근 방식 문제에 대한 간단한 해결책은 피타고라스 정리 개념을 사용하는 것입니다. 밑변과 높이를 사용하여 삼각형의 빗변을 구합니다. 피타고라스 정리 상태 직각 삼각형의 빗변의 제곱은 삼
이 문제에서는 부울 값(0과 1만)으로 구성된 배열 bin[]이 정렬된 순서로 제공됩니다. 우리의 임무는 0과 1의 정렬된 배열에서 처음 1의 인덱스를 찾는 것입니다. . 문제를 이해하기 위해 예를 들어 보겠습니다. Input : bin[] = {0, 0, 0, 1, 1} Output : 3 설명 - First 1 of the binary array is encountered at index 3. 솔루션 접근 방식 문제를 해결하려면 기본적으로 배열에서 1번째 1의 인덱스를 찾아야 합니다. 이를 위해 검색 기술을 사용할 수 있
이 문제에서는 부울 값(0과 1만)으로 구성된 무한 배열 bin[]이 정렬된 순서로 주어집니다. 우리의 임무는 0과 1의 무한 정렬된 배열에서 처음 1의 인덱스를 찾는 것입니다. . 여기에 배열에 1이 있음을 보장하는 무한 배열이 있습니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input : bin[] = {0, 0, 0, 1, 1, ....} Output : 3 설명 - First 1 of the binary array is encountered at index 3. 솔루션 접근 방식 이 문제를 해결하려면 기본적으
이 문제에서는 크기가 N인 배열 arr[]이 제공됩니다. 우리의 임무는 배열에서 가능한 이동 후 왼쪽 포인터의 인덱스를 찾는 것입니다. . 배열에 대한 두 개의 포인터가 있습니다. 하나는 왼쪽 포인터이고 다른 하나는 오른쪽 포인터입니다. 왼쪽 포인터는 인덱스 0에서 시작하고 값이 증가합니다. 오른쪽 포인터는 인덱스(n-1)에서 시작하여 값이 감소합니다. 순회한 합이 다른 것보다 작으면 포인터 값이 증가합니다. 즉, 왼쪽 포인터의 합이 오른쪽 포인터의 합보다 작으면 왼쪽 포인터가 증가하고 그렇지 않으면 오른쪽 포인터가 감소합니
이 문제에서는 크기가 N인 배열 res[]가 제공됩니다. 우리의 임무는 범위 합계 쿼리 후 주어진 배열에서 초기 배열을 찾는 것입니다. [s, e, val] 쿼리를 수행할 때 배열 rel[]을 반환할 시작 배열을 찾아야 합니다. 각 [s, e, val] 쿼리는 다음과 같이 해결됩니다. 시작 인덱스 끝 색인 배열의 s에서 e까지 각 요소에 추가할 값을 업데이트합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 :rel[] ={7, 4, 8}쿼리[][] ={{1, 2, 1},{0, 1, 3}}출력 :{4, 0, 7
이 문제에서는 크기가 n인 배열 arr[], 크기가 m인 배열 del[], 정수 k가 제공됩니다. 우리의 임무는 주어진 요소를 삭제한 후 가장 큰 k개를 찾는 것입니다. . del[] 배열에 있는 모든 요소를 삭제한 후 발견된 배열 arr[]에서 처음 k개의 가장 큰 요소를 인쇄해야 합니다. 배열에 두 개의 인스턴스가 있는 경우 첫 번째 인스턴스를 삭제합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input : arr[] = {3, 5, 1, 7, 9, 2}, del[] = {1, 9, 3}, k = 2 Output
이 문제에서는 크기가 n인 배열 arr[], 크기가 m인 배열 del[], 정수 k가 제공됩니다. 우리의 임무는 주어진 요소를 삭제한 후 가장 작은 k개를 찾는 것입니다. . del[] 배열에 있는 모든 요소를 삭제한 후 찾은 배열 arr[]에서 처음 k개의 가장 작은 요소를 인쇄해야 합니다. 배열에 두 개의 인스턴스가 있는 경우 첫 번째 인스턴스를 삭제합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input : arr[] = {3, 5, 1, 7, 9, 2}, del[] = {1, 9, 3}, k = 2 Outpu
이 문제에서는 두 개의 정수 값 N과 k가 주어집니다. 우리의 임무는 자연수 N의 k번째 최소 약수를 찾는 것입니다. . 문제를 이해하기 위해 예를 들어 보겠습니다. Input : N = 15, k = 3 Output : 5 설명 - Factors of 15 are 1, 3, 5, 15 3rd smallest is 5 솔루션 접근 방식 문제에 대한 간단한 해결책은 숫자의 요소를 찾아 정렬 방식으로 저장하고 k번째 값을 인쇄하는 것입니다. 정렬을 위해 root(N)까지 반복하고 N이 i로 나눌 수 있는지 확인합니다. 그리고
이 문제에서는 행렬 범위[N][2]와 정수 값 k로 간격 L - R 사이의 N 범위의 정수 값이 제공됩니다. 우리의 임무는 주어진 N 범위에 의해 생성된 시리즈에서 k번째 요소를 찾는 것입니다. . 문제를 이해하기 위해 예를 들어 보겠습니다. Input : ranges[][] = {{1, 3}, {5, 7}}, k = 4 Output : 5 설명 - The series is {1, 2, 3, 5, 6, 7} The 4th element is 5. 해결 방법 문제에 대한 간단한 해결책은 주어진 범위에 대해 일련의 정수를 생성한
이 문제에서는 크기가 N인 트리, 트리 V와 k의 노드가 제공됩니다. 우리의 작업은 트리에서 주어진 하위 트리의 DFS 순회에서 K번째 노드를 찾는 것입니다. . 정점 V에서 시작하는 트리의 DFS 순회에서 k번째 노드를 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: V =2, k =3 출력 :4 설명 - The series is {1, 2, 3, 5, 6, 7} The 4th element is 5. 솔루션 접근 방식 이 문제에 대한 간단한 해결책은 노드 V의 DFS 순회를 찾고 여기서 k번
이 문제에서는 크기가 n인 배열 aar[]와 크기가 m인 또 다른 배열 del[]이 제공됩니다. 우리의 임무는 주어진 요소를 삭제한 후 가장 큰 것을 찾는 것입니다. 여러 인스턴스가 있는 요소를 삭제해야 하는 경우 요소의 첫 번째 인스턴스를 삭제합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input : arr[] = {3, 5, 1, 7, 9, 2}, del[] = {1, 9, 3} Output : 7 설명 - Array arr[] after deleting the elements : {5, 7, 2} Largest