길이가 같은 두 개의 문자열 s와 t가 있고 둘 다 소문자라고 가정합니다. 처음에 s를 임의의 순서로 재배열한 다음 s를 t로 바꾸는 데 필요한 최소 변경 수를 세는 것을 고려하십시오. 따라서 입력이 s =eccynue, t =science와 같으면 출력은 eccynue를 yccence로 재배열한 다음 y를 s로 바꾸고 i와 함께 두 번째 c는 과학이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=0 s의 주파수를 유지하기 위해 두 개의 배열 cnt1을 정의하고 t의 주파수를 유지하기 위해 cnt
두 개의 문자열 s와 t가 있다고 가정합니다. s가 t의 회전인지 여부를 확인해야 합니다. 즉, s를 회전한 후 t를 얻을 수 있습니까? 따라서 입력이 s =helloworld 및 t =worldhello와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s0의 크기가 s1의 크기와 같지 않으면 - 거짓을 반환 s :=s0 s0 연결 s1이 s에 있으면 true를 반환하고 그렇지 않으면 0 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예시 #includ
문자열 s가 있다고 가정하면 주어진 문자열에서 연속적인 중복 문자를 제거하고 반환해야 합니다. 따라서 목록에 연속적으로 반복되는 문자가 포함되어 있으면 해당 문자의 단일 사본으로 대체되어야 합니다. 요소의 순서는 이전과 동일합니다. 따라서 입력이 heeeeelllllllloooooo와 같으면 출력은 hello가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=빈 문자열 initialize i :=0의 경우, i
바이너리 트리 루트가 있다고 가정합니다. 그 값이 모든 자손의 값보다 크거나 같은 노드의 수를 계산해야 합니다. 따라서 입력이 다음과 같으면 3을 제외한 모든 노드가 기준을 충족하므로 출력은 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − dfs() 함수를 정의하면 노드가 필요합니다. 노드가 null이 아니면 - 0 반환 l :=dfs(노드 왼쪽) r :=dfs(노드 오른쪽) =l 및 r의 최대값이면 - (ret 1 증가) x :=노드 val의 최대값, l
소스와 타겟이라는 두 개의 이진 트리가 있다고 가정합니다. 대상의 하위 트리가 되도록 소스의 반전 T가 있는지 확인해야 합니다. 따라서 T의 모든 자손을 포함하여 값과 구조가 동일한 대상에 노드가 있음을 의미합니다. 우리가 알고 있듯이 다음 중 하나인 경우 트리는 다른 트리의 반전이라고 합니다. 두 나무 모두 비어 있습니다. 왼쪽과 오른쪽 자식은 선택적으로 교환되며 왼쪽 및 오른쪽 하위 트리는 반전됩니다. 따라서 입력이 소스와 같은 경우 대상 그러면 출력은 True가 됩니다. 이 문제를 해결하기 위해
양수를 포함하는 단일 연결 목록 노드가 있다고 가정합니다. 모든 노드의 다음이 앞의 노드 val 노드를 가리키는 동일한 연결 목록을 찾아야 합니다. 그러한 노드를 찾을 수 없으면 next는 null이 됩니다. 따라서 입력이 [2,3,10,5,9]와 같으면 출력은 [2, 3, 15, ]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 배열 정의 v 노드가 null이 아닌 동안 수행 - 노드의 값을 v에 삽입 노드 :=노드의 다음 ret =값이 0인 새 목록 노드 온도 =재 나
( 및 )만 포함하는 문자열 s가 있다고 가정하고 문자열을 균형 있게 만들기 위해 삽입할 수 있는 최소 괄호 수를 찾아야 합니다. 따라서 입력이 (()))(와 같으면 출력은 (()))(와 같이 2가 되며 ((()))()와 같이 균형을 이룰 수 있습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − :=0, cnt :=0 initialize i :=0의 경우, i
각 간격에 [시작, 종료] 시간이 포함된 간격 목록이 있다고 가정합니다. 두 개의 겹치지 않는 간격의 최소 총 크기를 찾아야 합니다. 여기서 간격의 크기는 (끝 - 시작 + 1)입니다. 이러한 두 간격을 찾을 수 없으면 0을 반환합니다. 따라서 입력이 [[2,5],[9,10],[4,6]]과 같으면 간격 [4,6]을 선택할 수 있으므로 출력은 5가 됩니다. 크기 3 및 [9,10] 크기 2. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=inf n :=v의 크기 종료 시간을 기준으로 배열 v 정렬
숫자 목록이 있다고 가정합니다. 숫자 목록을 k 요소만큼 왼쪽으로 회전할 수 있는 메서드를 정의해야 합니다. 따라서 입력이 [5,4,7,8,5,6,8,7,9,2], k =2와 같으면 출력은 [8,5, 6,8,7,9,2,5,4,7] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret 배열 정의 n :=숫자 크기 k :=k 모드 n initialize i :=k의 경우 i
소문자 알파벳 문자열 s가 있다고 가정하고 어떤 문자가 다른 문자를 합친 것보다 더 많이 나타나도록 가장 짧은 부분 문자열(최소 길이는 2)의 길이를 찾아야 합니다. 솔루션을 찾을 수 없으면 -1을 반환합니다. 따라서 입력이 abbbcde와 같으면 출력은 2가 되고 하위 문자열 bb는 최소 길이를 가지며 다른 문자보다 더 많이 나타납니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ok() 함수를 정의하면 배열 cnt가 필요합니다. 총계 :=0, 최대값 :=0 cnt의 각 요소에 대해 수행 총계 :=
이 자습서에서는 복리를 찾는 프로그램에 대해 설명합니다. 복리 이자는 원금에 현재 이자를 더한 다음 갱신된 금액에 대한 이자를 계산한 이자를 말합니다. 예 #include <bits/stdc++.h> using namespace std; int main(){ double principle = 10000, rate = 10.25, time = 5; //calculating compound interest double CI = principle * (po
이 튜토리얼에서는 상관 계수를 찾는 프로그램에 대해 논의할 것입니다. 이를 위해 두 개의 어레이가 제공됩니다. 우리의 임무는 주어진 값 사이의 관계의 강도를 나타내는 상관 계수를 찾는 것입니다. 예시 #include<bits/stdc++.h> using namespace std; //function returning correlation coefficient float find_coefficient(int X[], int Y[], int n){ int sum_X = 0, sum_Y = 0, sum
이 튜토리얼에서는 주어진 범위에서 홀수의 제수가 있는 숫자의 개수를 찾는 프로그램에 대해 논의할 것입니다. 이를 위해 범위의 상한 및 하한이 제공됩니다. 우리의 임무는 제수가 홀수인 값의 수를 계산하고 세는 것입니다. 예시 #include <bits/stdc++.h> using namespace std; //counting the number of values //with odd number of divisors int OddDivCount(int a, int b){ int res = 0; &nb
이 튜토리얼에서는 공분산을 찾는 프로그램에 대해 논의할 것입니다. 이를 위해 두 세트의 랜덤 변수가 제공됩니다. 우리의 임무는 공분산, 즉 두 값이 함께 얼마나 다른지를 측정하는 것입니다. 예시 #include<bits/stdc++.h> using namespace std; //function to find mean float mean(float arr[], int n){ float sum = 0; for(int i = 0; i < n; i++)  
이 튜토리얼에서는 Cullen Number를 찾는 프로그램에 대해 논의할 것입니다. 이를 위해 정수가 제공됩니다. 우리의 임무는 − 공식을 사용하여 해당 위치에서 컬른 번호를 찾는 것입니다. 2n* n + 1 예시 #include <bits/stdc++.h> using namespace std; //finding the nth cullen number unsigned get_cullen(unsigned n){ return (1 << n) * n + 1; } int main(){ &nbs
이 튜토리얼에서는 3개의 점을 지나는 평면의 방정식을 찾는 프로그램에 대해 논의할 것입니다. 이를 위해 우리는 3 포인트를 제공받을 것입니다. 우리의 임무는 주어진 세 점으로 구성되거나 이를 통과하는 평면의 방정식을 찾는 것입니다. 예시 #include <bits/stdc++.h> #include<math.h> #include <iostream> #include <iomanip> using namespace std; //finding the equation of plane void equ
이 튜토리얼에서는 N개의 lccanobif 숫자를 찾는 프로그램에 대해 논의할 것입니다. 이를 위해 정수가 제공됩니다. 우리의 임무는 그 위치에서 lccanobif 번호를 찾는 것입니다. 앞의 두 숫자를 숫자의 역순으로 더한 것을 제외하고는 피보나치 수와 유사합니다. 예 #include <bits/stdc++.h> using namespace std; //reversing the digits of a number int reverse_digits(int num){ int rev_num = 0; &
이 자습서에서는 부동 소수점 숫자의 GCD를 찾는 프로그램에 대해 설명합니다. 이를 위해 두 개의 정수가 제공됩니다. 우리의 임무는 제공된 두 정수의 GCD(최대공약수)를 찾는 것입니다. 예시 #include <bits/stdc++.h> using namespace std; //returning GCD of given numbers double gcd(double a, double b){ if (a < b) return gcd(b, a); &
이 튜토리얼에서는 중학교 절차를 사용하여 두 숫자의 GCD 또는 HCF를 찾는 프로그램에 대해 논의할 것입니다. 이를 위해 두 개의 숫자가 제공됩니다. 우리의 임무는 주어진 값에 대한 GCD(최대공약수) 또는 HCF(최고공약수)를 찾는 것입니다. 예시 #include <bits/stdc++.h> #define MAXFACTORS 1024 using namespace std; //structure to store factorization typedef struct{ int size; &
이 튜토리얼에서는 두 숫자의 GCD와 HCF를 찾는 프로그램에 대해 설명합니다. 이를 위해 두 개의 숫자가 제공됩니다. 우리의 임무는 주어진 두 숫자에 대한 GCD 또는 HCF(최고공약수)를 찾는 것입니다. 예시 #include <iostream> using namespace std; int gcd(int a, int b){ if (a == 0) return b; if (b == 0) return a