이 문제에서는 두 개의 숫자 x와 y가 주어집니다. 우리의 임무는 x^y와 y^x 중 더 큰 것을 찾는 것입니다. 문제 설명: 문제는 간단합니다. 우리는 날씨 x에서 y의 거듭제곱을 찾아야 합니다. y가 x의 거듭제곱보다 큽니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: x =4, y =5 출력: 1024 설명: x^y =4^5 =1024 y^x =5^4 =625 솔루션 접근 방식 문제의 해결책은 간단합니다. 우리는 x^y와 y^x의 값을 찾고 둘 다의 최대값을 반환해야 합니다. 로그를 취함으로써
이 문제에서는 숫자를 나타내는 문자열 N이 제공됩니다. 우리의 임무는 동일한 자릿수로 N보다 작은 가장 큰 수를 찾는 것입니다. 문제 설명: 주어진 수의 N보다 작은 수 중 가장 큰 자릿수를 모두 사용하여 수를 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: N =54314 출력: 54341 해결 방법 이 문제에 대한 간단한 해결책은 가장 큰 작은 숫자를 찾기 위해 이동할 수 있는 숫자의 자릿수를 찾는 것입니다. 이제 목적을 해결하기 위해서는 그 숫자가 올바른 성공보다 커야 합니다. 이를 위해
이 문제에서는 이진 트리가 제공됩니다. 우리의 임무는 트리에서 가장 큰 하위 트리 합을 찾는 것입니다. 문제 설명: 이진 트리는 양수 값과 음수 값으로 구성됩니다. 그리고 노드의 합이 최대인 하위 트리를 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 출력: 13 설명: 왼쪽 하위 트리의 합은 7입니다. 오른쪽 하위 트리의 합은 1입니다. 트리의 합은 13입니다. 솔루션 접근 방식 문제를 해결하기 위해 후위 순회를 수행합니다. 노드 왼쪽 하위 트리와 오른쪽 하위 트리의 합을 계산합니다.
이 문제에서는 정수 n이 주어집니다. 우리의 임무는 n의 모든 제수에서 가장 큰 자릿수 합을 찾는 것입니다. 문제 설명: 여기에서 자릿수의 합이 가장 큰 숫자 n의 제수를 찾습니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: 18 출력: 9 설명: 18의 모든 약수는 1, 2, 3, 6, 9, 18입니다. 최대 자릿수 합계는 9입니다. 솔루션 접근 방식 숫자 N의 모든 제수를 찾습니다. 그런 다음 각 제수의 자릿수의 합을 찾은 다음 합이 가장 큰 값을 반환합니다. 우리 솔루션의 작동을 설명하는 프로그
이 문제에서는 두 개의 숫자와 b가 주어집니다. 우리의 임무는 큰 숫자에 대한 a^b의 마지막 숫자를 찾는 것입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: a =4 b =124 출력: 6 설명: a^b의 값은 4.523128486 * 1074입니다. 솔루션 접근 방식 문제의 해결책은 숫자의 모든 지수가 4개의 지수 값 이후에 반복된다는 사실에 기반합니다. 따라서 b%4의 값을 찾습니다. 또한 기본 값에 대해 거듭제곱의 마지막 자릿수는 기본 값의 마지막 자릿수에 의해 결정됩니다. 따라서 결과 값
이 문제에서 우리는 숫자 N이 주어집니다. 우리의 임무는 5의 거듭제곱으로 거듭난 주어진 5자리 숫자의 마지막 5자리를 찾는 것입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: N =25211 출력: 솔루션 접근 방식 문제를 해결하려면 결과 값의 마지막 다섯 자리만 찾으면 됩니다. 따라서 숫자의 5자리 나머지를 찾아서 거듭제곱할 때마다 숫자의 마지막 숫자를 찾습니다. 마지막으로 5의 거듭제곱 후 마지막 5자리를 반환합니다. 우리 솔루션의 작동을 설명하는 프로그램, 예시 #include <iostrea
이 문제에서는 정육각형의 한 변의 길이를 나타내는 정수 n이 주어집니다. 우리의 임무는 육각형 대각선의 길이를 찾는 것입니다. 문제 설명: 여기에 정육각형의 면이 있습니다. 그리고 육각형의 대각선 길이를 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: a =7 출력: 12.11 솔루션 접근 방식 문제를 풀고 수학 공식으로 주어진 대각선의 길이를 구하려면, 대각선 =1.73 * a 공식을 도출해 보겠습니다. 여기에 길이의 정다각형이 있습니다. 대각선과 측면 사이의 각도는 600입니다. .
이 문제에서는 루프를 포함할 수 있는 연결 목록이 제공됩니다. 우리의 임무는 연결된 목록에서 루프의 길이를 찾는 것입니다. 문제 설명: 루프가 포함되어 있으면 루프의 노드 수를 계산해야 합니다. 그렇지 않으면 -1을 반환합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: 연결 목록 : 출력: 8 솔루션 접근 방식 문제를 해결하려면 먼저 연결 목록에 루프가 포함되어 있는지 확인해야 합니다. 이를 확인하기 위한 접근 방식은 Floyd의 주기 찾기 알고리즘을 사용하는 것입니다. Floyd의 주기 찾기 알
이 문제에서는 0과 1로만 구성된 nXm 크기의 2차원 행렬이 제공됩니다. 우리의 임무는 부울 행렬에서 가장 큰 영역의 길이를 찾는 것입니다. 문제 설명: 셀에 1이 포함되어 있으면 채워진 셀입니다. 가로 또는 세로 또는 대각선으로 서로 인접하게 연결된 연결된 셀의 길이를 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: 매트릭스[4][5] { {0, 1, 1, 0, 1}, {0, 0, 1, 1, 1}, {1, 0, 0, 0, 0}, {1, 0, 1, 0, 1} } 출력: 6 설
이 문제에서는 영어 알파벳으로 구성된 문자열 str이 제공됩니다. 우리의 임무는 비트 연산을 사용하여 알파벳에서 문자의 위치를 찾는 것입니다. 문제 설명: 여기서는 문자열의 각 문자의 위치를 영어 알파벳 그대로 반환합니다. 문자열의 문자는 대소문자를 구분하지 않습니다. 즉 t와 T는 동일하게 취급됩니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: str =튜토리얼 포인트 출력: 20 21 20 15 18 9 1 12 19 16 15 9 14 20 해결 방법 문자의 위치를 찾는 간단한 솔루션은
이 문제에서는 문자와 알파벳만으로 구성된 문자열 str이 제공됩니다. 우리의 임무는 문자열에서 가장 긴 길이의 숫자를 찾는 것입니다. 문제 설명: 숫자의 길이, 즉 문자열에서 연속적인 숫자 문자를 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: str =code001tutorials34124point 출력: 34124 설명: 문자열의 숫자는 001 - 사이즈 3 34124 - 크기 5 해결 방법 문제에 대한 간단한 해결책은 스팅을 탐색하고 숫자의 길이와 시작 인덱스를 찾는 것입니다. 문자
이 문제에서는 두 개의 양수 N과 M이 주어졌습니다. 우리의 임무는 숫자의 반복되는 자릿수 합이 N인 M번째 숫자를 찾는 것입니다. 문제 설명: 여기에서 합이 한 자릿수가 될 때까지의 자릿수의 합이 N인 M번째 수를 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: N =4 M =6 출력: 49 솔루션 접근 방식 문제의 간단한 해결책은 모든 숫자를 찾아 숫자의 합이 N인 숫자를 세고 m번째 숫자를 반환하는 것입니다. 문제에 대한 또 다른 해결책은 수식을 사용하여 자릿수의 합이 N인 M번째 숫자를
이 문제에서는 크기가 다른 k개의 서로 다른 배열이 제공됩니다. 우리의 임무는 k개의 정렬된 배열에서 m번째로 작은 값을 찾는 것입니다. 문제 설명: 여기에서 우리는 모든 k 배열의 병합된 배열의 m번째 가장 작은 요소를 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: m =4 arr[][] ={ {4, 7}, {2, 5, 6}, {3, 9, 12, 15, 19}} 출력: 5 설명: 병합 정렬된 배열 :2, 3, 4, 5, 6, 7, 9, 12, 15, 19 네 번째 요소는 5입니다.
이 문제에서는 두 개의 정수 m과 n이 주어집니다. 우리의 임무는 처음 n개의 자연수의 m번째 합을 찾는 것입니다. 문제 설명: n개의 자연수의 합을 m번 구합니다. 합계는 공식으로 제공됩니다. 1), 합(n, m) =합( 합(n, (m-1)), 1 ) 만약 (m =1) sum(n, m) =sum(n, 1) =n개의 자연수의 합 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: m =4, n =2 출력: 231 설명: 합계(2, 4) =합계( 합계(2, 3), 1 ) =합계 ( 합계 ( 합계 (2,
이 문제에서는 두 개의 유리수가 주어집니다. . 우리의 임무는 최대 2개의 유리수를 찾는 것입니다. 여기서 유리수는 p/q 형식입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: 쥐1 =5/4, 쥐2 =3/2 출력: 3/2 설명: 5/4 =1.25 3/2 =1.5 해결 방법 - 문제에 대한 간단한 해결책은 학교에서 수행했던 것과 유사한 방법을 사용하는 것입니다. 이를 위해 L.C.M 분모의. 그런 다음 분모 값을 기준으로 분자를 곱합니다. 그러면 공통분모는 분자값이 최대인 유리수가 최대값이 됩니다.
이 문제에서는 이진 트리가 제공됩니다. 우리의 임무는 바이너리 트리에서 최대(또는 최소)를 찾는 것입니다. 문제 설명: 이진 트리에서 최대값과 최소값을 갖는 이진 트리의 노드를 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: 출력: 최대 =9, 최소 =1 솔루션 접근 방식 이진 트리의 최대 노드를 찾아야 합니다. 리프 노드에 도달할 때까지 포인터를 탐색한 다음 트리의 최대 노드를 찾을 때까지 이를 수행합니다. 우리 솔루션의 작동을 설명하는 프로그램, 예시 #include <iost
이 문제에서 배열 arr[]와 숫자 k가 주어집니다. 우리의 임무는 크기가 k인 부분배열의 최대(또는 최소) 합을 찾는 것입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: arr[] ={55, 43, 12, 76, 89, 25, 99}, k =2 출력: 165 설명: 크기 2의 하위 배열은 합계 =76 + 89 =165입니다. 해결 방법 문제를 해결하는 간단한 방법은 k 크기의 모든 하위 배열을 찾은 다음 최대값으로 합계를 반환하는 것입니다. 또 다른 접근 방식 슬라이딩 창 을 사용 중입니다. 우리
이 문제에서는 이진 트리가 제공됩니다. 우리의 임무는 바이너리 트리의 모든 올바른 노드 중에서 최대값을 찾는 것입니다. 문제 설명: 여기에서 바이너리 트리의 모든 오른쪽 자식 노드 중에서 최대값을 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: 출력: 9 설명: 모든 올바른 노드는 {2, 8, 9}입니다. 최대 9개입니다. 솔루션 접근 방식 문제를 해결하려면 트리를 탐색하고 올바른 자식이 있는지 확인해야 합니다. 존재한다면 maxRight 요소와 비교하여 크면 교체한다. 우리 솔루
이 문제에서는 두 개의 값 x와 y가 주어집니다. 우리의 임무는 x와 y가 주어진 x^(y^2) 또는 y^(x^2) 중에서 최대값을 찾는 것입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: x =4, y =3 출력: 3^(4^2) 설명: x^(y^2) =4^(3^2) =4^9 =262144 y^(x^2) =3^(4^2) =3^16 =43046721 솔루션 접근 방식 한 가지 방법은 두 값을 모두 계산한 다음 두 값의 최대값을 인쇄하는 것입니다. 하지만 이 방법은 값이 크면 작동하지 않습니다. 간단
이 문제에서는 양수 값과 음수 값과 정수 k로 구성된 크기 n의 배열 arr[]이 제공됩니다. 우리의 임무는 k 길이의 최대 평균 하위 배열을 찾는 것입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력: arr[] ={4, -1, 5, 6, -2, 4} k =3 출력: 10 설명: 최대 합이 -1, 5, 6 =10인 크기 3의 하위 배열 솔루션 접근 방식 문제에 대한 해결책은 보조 배열 을 사용하여 수행됩니다. 배열의 현재 인덱스까지 누적 합계를 저장합니다. 하위 배열의 합을 찾으려면 하위 배열의 위치