IP 주소가 주어지면 이 IP 주소를 검증하고 ReGex(Regular Expression)를 사용하여 IPv4인지 여부를 확인하는 작업입니다. IP 주소가 유효한 경우 IPv4 주소를 인쇄하고 그렇지 않으면 Not을 인쇄하십시오. 유효한 IPv4 주소는 X1.X2.X3.X4 형식의 IP입니다. 여기서 0 <=Xi <=255이고 Xi는 선행 0을 포함할 수 없습니다. 예를 들어 192.168.1.1 및 192.168.1.0은 유효한 IPv4 주소이지만 192.168.01.1, 192.168.1.00 및 [email protected]은 잘못
IP 주소가 주어졌을 때 이 IP 주소를 검증하고 ReGex(Regular Expression)를 사용하여 IPv6인지 여부를 확인하는 작업입니다. IP 주소가 유효한 경우 IPv6 주소를 인쇄하고 그렇지 않으면 Not을 인쇄하십시오. 유효한 IPv4 주소는 XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX 형식의 IP이며, 여기서 각 Xi 숫자는 16진수입니다. 예를 들어, 입력-1 - IP= “3001:0da8:82a3:0:0:8B2E:0270:7224” 출력 - “No
델라노이 숫자 − A Delannoy 수 D는 동쪽( →), 북동쪽( ↗ ) 및 북쪽( ↑ ) 단계만 허용된 직사각형 그리드에서 남서쪽 모서리(0,0)에서 북동쪽 모서리(a,b)까지의 경로 수를 나타냅니다. 따라서 재귀 관계는 다음과 같다고 말할 수 있습니다. D(a,b) =D(a-1,b) + D(a, b-1) + D(a-1, b-1) 여기서 D(0,0)=1. 예를 들어 델라노이 수 D(3,3)는 63과 같습니다. Delannoy 수를 찾는 알고리즘 두 좌표(a,b)를 입력으로 사용합니다. 좌표 a와 b를 입력으로
Timsort는 병합 정렬과 삽입 정렬의 개념을 사용하는 안정적인 정렬 알고리즘입니다. 삽입 정렬과 병합 정렬의 하이브리드 알고리즘이라고도 할 수 있습니다. Java, Python, C 및 C++ 내장 정렬 알고리즘에서 널리 사용됩니다. 이 알고리즘의 배경은 삽입 정렬을 사용하여 작은 청크를 정렬한 다음 병합 정렬 알고리즘의 병합 기능을 사용하여 모든 큰 청크를 병합하는 것입니다. 작업 이 알고리즘에서 배열은 작은 청크로 나뉩니다. 청크는 RUN으로 알려져 있습니다. 각 RUN은 삽입 정렬 기술을 사용하여 수행되고 정렬됩니다. 모
이진 트리의 루트 노드가 있다고 가정해 보겠습니다. 작업은 모든 노드의 기울기의 합을 찾아 반환하는 것입니다. 기울기 이진 트리의 구성은 각 수준에서 왼쪽 하위 트리와 오른쪽 하위 트리에서 자식 노드의 절대 차이를 찾아 이진 트리를 구성하는 것뿐입니다. 특정 수준에서 자식 노드가 없는 노드는 해당 노드를 0으로 교체하여 간단히 기울입니다. 예 입력 출력:15 설명: 주어진 이진 트리의 모든 수준에서 기울기 찾기, 노드 3의 기울기 =0 노드 5의 기울기 =0 노드 7의 기울기 =0 노드 2의 기울기 =
주어진 행렬에는 요소 위치를 분석하기 위한 4개의 개체가 있습니다:왼쪽, 오른쪽, 아래쪽 및 위쪽. 너비 우선 탐색은 주어진 2차원 행렬의 두 요소 사이의 최단 거리를 찾는 것뿐입니다. 따라서 각 셀에는 다음과 같이 4개의 숫자로 표현할 수 있는 4개의 연산이 있습니다. 2는 행렬의 셀이 소스임을 나타냅니다. 3은 행렬의 셀이 대상임을 나타냅니다. 1은 셀이 한 방향으로 더 이동할 수 있음을 나타냅니다. 0은 행렬의 셀이 어떤 방향으로도 이동할 수 없음을 나타냅니다. 어도비 정당화를 기반으로 주어진 매트릭스에 대해 너비 우선
이진 트리에서 각 노드는 두 개의 자식, 즉 왼쪽 자식과 오른쪽 자식을 포함합니다. 두 개의 이진 트리가 있고 작업이 트리 중 하나를 왼쪽으로 뒤집어 다른 트리를 대칭 이동하여 얻을 수 있는지 확인하는 작업이라고 가정해 보겠습니다. 다른 나무를 왼쪽으로 뒤집어 얻을 수 있는 경우 나무는 동형입니다. 예를 들어 입력-1 출력: 동형 설명: 주어진 Tree-2는 Tree-1을 왼쪽으로 뒤집어서 얻을 수 있으므로 Tree는 동형입니다. 이 문제를 해결하기 위한 접근 방식 이 특정 문제를 해결하기 위한 재귀적 접근
정수 배열이 주어지면 배열이 정렬(오름차순)하고 일정 위치 이후에 회전하는지 확인하는 작업입니다. 예를 들어 입력-1: N = [7, 8, 9, 4, 5, 6] 출력: True 설명: 주어진 배열은 오름차순이고 세 번째 위치 이후의 요소는 회전하므로 이 경우 True를 반환합니다. 입력-2: N = [1, 5, 7, 6, 2, 3] 출력: False 설명: 주어진 배열은 오름차순이 아니며 특정 위치로 회전하지 않으므로 출력은 False입니다. 이 문제를 해결하기 위한 접근 방식 N[i+1]과 같은 요소가 하나
이진 트리가 주어지면 작업은 전체 이진 트리인지 여부를 확인하는 것입니다. 모든 노드에 0 또는 2개의 자식이 있는 경우 이진 트리를 전체 이진 트리라고 합니다. 예를 들어 입력-1 출력: 1 설명: 리프 노드를 제외한 모든 노드에는 두 개의 자식이 있으므로 전체 이진 트리입니다. 입력-2: 출력: 0 설명: 노드 2에는 자식이 하나만 있으므로 전체 이진 트리가 아닙니다. 이 문제를 해결하기 위한 접근 방식 주어진 이진 트리가 가득 찼는지 여부를 확인하려면 왼쪽 하위 트리와 오른쪽 하위 트리
음수가 아닌 숫자가 주어지면 가장 작은 숫자를 찾는 것이 작업입니다. 예를 들어 입력: N = 154870 출력: 0 설명: 주어진 숫자 154870에서 가장 작은 숫자는 0입니다. 이 문제를 해결하기 위한 접근 방식 이 문제를 해결하는 가장 간단한 방법은 나머지를 사용하여 주어진 숫자의 마지막 숫자를 추출하는 것입니다. 정리 . 숫자를 탐색하는 동안 추출된 숫자가 마지막 숫자보다 작은지 확인한 다음 출력을 반환합니다. 번호를 n 가져오세요. 입력으로. 정수 함수 minimum_digit(int n)은 n을 입력으
Circle Sort는 주어진 요소 배열을 정렬하는 흥미로운 정렬 알고리즘입니다. 알고리즘은 배열의 요소를 정반대로 비교하고 한 부분의 요소가 정렬되면 배열의 다른 쪽 끝을 정반대로 계속 정렬합니다. 예 배열에 대한 원 정렬을 시각화해 보겠습니다. 6개의 요소가 있는 배열이 있다고 가정해 보겠습니다. 입력: N = 6arr [ ] = { 2, 1, 5, 8, 7, 9 } 각 배열 요소에 대해 동심원을 그리면 다음과 같이 나타납니다. 출력: 1 2 5 7 8 9 설명: Circle Sort를 사용하여 배열의 요소를
Linked List는 각 노드에 두 개의 블록이 있는 선형 데이터 구조로, 한 블록에는 노드의 값 또는 데이터가 포함되고 다른 블록에는 다음 필드의 주소가 포함됩니다. 각 노드에 목록의 다른 노드를 가리키는 임의의 포인터가 포함된 연결 목록이 있다고 가정해 보겠습니다. 작업은 원본 목록과 동일한 목록을 구성하는 것입니다. 임의의 포인터가 있는 원본 목록에서 목록을 복사하는 것을 연결 목록의 Deep Copy라고 합니다. 예를 들어 입력-1 출력: 5-> 2 -> 3 -> 7 ->4 ->
온도 T를 나타내는 양의 온도 배열이 있다고 가정해 보겠습니다. 작업은 주어진 목록에서 다음으로 따뜻한 온도에 대해 며칠이 있는지 계산하는 것입니다. 예를 들어 입력-1: T =[ 73, 74, 75, 71, 69, 72, 76, 73] 출력: [1, 1, 4, 2, 1,1,0,0] 설명: 주어진 온도 목록[73, 74, 75, 71, 69, 72, 76, 73]에서 다음으로 높은 온도는 1일에 있습니다. 마찬가지로 6일은 모든 온도에서 가장 따뜻하므로 출력은 다음과 같습니다. [ 1, 1, 4, 2, 1, 1, 0, 0]
32비트의 부호 없는 이진수가 주어지면 작업은 설정된 비트, 즉 1이 포함된 수를 계산하는 것입니다. 예 입력: N = 00000000000000100111 출력: 4 설명: 주어진 unsigned 숫자에 존재하는 총 세트 비트는 4이므로 출력을 4로 반환합니다. 이 문제를 해결하기 위한 접근 방식 우리는 부호 없는 32비트 이진수를 제공했습니다. 작업은 그 안에 얼마나 많은 1이 있는지 세는 것입니다. 주어진 이진수에 존재하는 1의 수를 계산하려면 이진수를 입력 매개변수로 사용하는 내장 STL 함수 __builin
문자열 a와 문자 char이 주어지면 주어진 문자열의 각 문자로부터 char의 거리를 인쇄하는 것이 작업입니다. 주어진 문자열의 각 문자에서 문자의 거리를 찾아야 하므로 거리 배열의 크기는 문자열의 크기와 같습니다. 예를 들어 입력-1: a = “tutorialspoint”char = “o” 출력: [ 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3] 설명: 주어진 문자열에서 주어진 문자열의 각 문자로부터 문자의 거리는 [3, 2, 1, 0, 1, 2,
루트 노드와 왼쪽 자식 및 오른쪽 자식이 있는 이진 트리가 있다고 가정해 보겠습니다. 작업은 부모 노드에 남겨진 트리의 잎 노드의 총합을 찾는 것입니다. 예를 들어 입력-1: 출력: 15 설명: 주어진 입력 Binary Tree에서 모든 왼쪽 잎 노드의 합은 9+4+2 =15입니다. 따라서 출력은 15입니다. 이 문제를 해결하기 위한 접근 방식 Binary Tree가 있고 작업은 부모에게 남겨진 모든 잎 노드의 합을 찾는 것입니다. 이 문제를 해결하기 위한 재귀적 접근 방식은 루트 노드의 왼쪽 노드가 비어 있
Linked List는 각 노드에 두 개의 블록이 있는 선형 데이터 구조로, 한 블록에는 노드의 값 또는 데이터가 포함되고 다른 블록에는 다음 필드의 주소가 포함됩니다. 각 노드에 목록의 다른 노드를 가리키는 임의의 포인터가 포함된 연결 목록이 있다고 가정해 보겠습니다. 작업은 두 연결 목록이 서로 교차하는 노드를 찾는 것입니다. 교차하지 않으면 NULL을 반환하거나 출력으로 비어 있습니다. 예를 들어 입력-1: 출력: 2 설명: 주어진 연결 리스트가 2 값을 갖는 노드에서 교차하므로 출력으로 2 값을 반환합니
두 개의 문자열 a와 b와 문자열 merge가 있다고 가정해 보겠습니다. 작업은 다음과 같은 방식으로 a와 b의 문자로 merge 문자열을 채우는 것입니다. a 문자열이 비어 있지 않은 경우 a 문자열에서 첫 번째 문자를 제거하고 merge 문자열에 복사합니다. b 문자열이 비어 있지 않은 경우 b 문자열에서 첫 번째 문자를 제거하고 merge 문자열에 복사합니다. 문자열 a 및 b가 비어 있지 않은 경우 문자열 a에서 첫 번째 문자를 제거하고 이를 문자열 merge로 복사한 다음 문자열 b에서 첫 번째 문자(있는 경우)를 제거합
세 개의 숫자가 있다고 가정해 보겠습니다. 과제는 이 모든 숫자를 0으로 만들기 위한 최적 단계의 총 수를 계산하는 것입니다. 예를 들어 입력-1: a = 4 b = 4c = 6 출력: 7 설명: 모든 숫자를 0으로 만들기 위한 최적 단계의 총 수는, (4, 4, 6) 첫 번째와 두 번째 숫자에서 1 빼기 =(3, 3, 6) 첫 번째와 세 번째 숫자에서 1 빼기 =(2, 3, 5) 첫 번째 및 세 번째 숫자에서 1 제거 =(1,3,4) 첫 번째와 세 번째 숫자에서 1 빼기 =(0 ,3 ,3) 두 번째 및 세
세 개의 정수 a와 b와 limit가 있다고 가정해 보겠습니다. 작업은 [a, limit] 범위의 숫자를 인쇄하는 것입니다. 이 숫자의 목록은 강력한 정수라고 하며 다음과 같이 표시됩니다. =0 예를 들어 입력-1: a = 2b = 5limit = 10 출력: [2, 3, 4, 5, 6, 7, 9] 설명: 각 i 및 j에 대해 2^0 + 5^0 =2 , 2^0 + 5^1=6 2^1 + 5^0 =3 , 2^1 + 5^1=7 2^2 + 5^0 =5 , 2^3 + 5^0=9 이 문제를 해결하기 위한 접근 방식 이