본문 바로가기
728x90
반응형

Leetcode43

94. Binary Tree Inorder Traversal 이진 트리의 노드를 중위 순회(inorder traversal)하여 노드 값들을 리스트에 저장하는 문제입니다. 중위 순회는 트리를 다음과 같은 방식으로 순회합니다: 먼저, 왼쪽 하위 트리를 순회합니다. 현재 노드를 방문하고 처리합니다. 마지막으로, 오른쪽 하위 트리를 순회합니다. 즉, 이 문제에서는 이진 트리를 중위 순회하여 노드 값을 리스트에 저장해야 합니다. 문제 설명: 주어진 이진 트리의 루트 노드 root가 주어집니다. 이 트리를 중위 순회하여 나오는 노드 값들을 리스트에 저장하고, 그 리스트를 반환하세요. 예시: 만약 주어진 이진 트리가 다음과 같다고 가정하면: 1 \ 2 / 3 중위 순회를 수행하면 노드 값 [1, 3, 2] 순서대로 리스트에 저장하고 반환해야 합니다. 노트: 중위 순회를 재귀.. 2023. 10. 30.
83. Remove Duplicates from Sorted List 정렬된 연결 리스트에서 중복된 노드를 제거하는 문제입니다. 문제 설명: 정렬된 연결 리스트가 주어집니다. 이 연결 리스트에서 중복된 노드를 제거하여 중복된 노드가 하나만 남도록 하세요. 예를 들어, 입력으로 주어진 연결 리스트가 다음과 같다고 가정합시다: 1 -> 1 -> 2 이 경우, 중복된 노드인 1이 하나만 남아야 합니다. 따라서 결과 연결 리스트는 다음과 같아야 합니다: 1 -> 2 예시: Input: 1 -> 1 -> 2 Output: 1 -> 2 Input: 1 -> 1 -> 2 -> 3 -> 3 Output: 1 -> 2 -> 3 노트: 연결 리스트는 정렬되어 있으며, 중복된 노드는 인접해 있을 것입니다. 이 문제를 해결하기 위해 주어진 연결 리스트를 순회하면서 중복된 노드를 제거하고, 중복.. 2023. 10. 29.
219. Contains Duplicate II 주어진 정수 배열에서 특정 두 숫자의 인덱스 차이가 최대 k 이하인 중복된 숫자가 있는지 확인하는 문제입니다. 아래는 문제의 자세한 설명입니다: 문제 설명: 정수 배열 nums와 정수 k가 주어집니다. 배열 nums에서 두 숫자 nums[i]와 nums[j]가 있으며, 이때 i와 j의 차이가 최대 k 이하일 때, 즉, |i - j| 2023. 10. 28.
268. Missing Number 0부터 n까지의 연속된 정수 중에서 누락된 숫자를 찾는 문제입니다. 아래는 문제의 자세한 설명입니다: 문제 설명: 0부터 n까지의 연속된 정수 중에서 하나의 숫자가 빠져 있는 배열 nums가 주어집니다. 이 누락된 숫자를 찾아서 반환하세요. 예시: Input: nums = [3, 0, 1] Output: 2 배열 nums에서 0부터 3까지의 숫자 중 누락된 숫자는 2입니다. Input: nums = [9, 6, 4, 2, 3, 5, 7, 0, 1] Output: 8 배열 nums에서 0부터 9까지의 숫자 중 누락된 숫자는 8입니다. 노트: 배열 nums에 중복된 숫자는 없습니다. 배열의 길이는 n입니다. (0부터 n까지의 연속된 정수가 모두 포함되어 있지만 하나가 누락됨) 이 문제를 해결하는 가장 간단한.. 2023. 10. 28.
217. Contains Duplicate 주어진 정수 배열에서 중복된 숫자가 있는지 확인하는 문제입니다. 아래는 문제의 자세한 설명입니다: 문제 설명: 정수 배열 nums가 주어집니다. 이 배열에서 중복된 숫자가 존재하는지 여부를 판단하세요. 중복된 숫자가 하나라도 존재하면 true를 반환하고, 중복된 숫자가 없으면 false를 반환하세요. 예시: Input: [1,2,3,1] Output: true 배열에 중복된 숫자 1이 존재하므로 true를 반환합니다. Input: [1,2,3,4] Output: false 배열에 중복된 숫자가 없으므로 false를 반환합니다. 노트: 주어진 배열 nums의 길이는 10^5 이하입니다. 이 문제를 해결하는 간단한 방법은 배열을 순회하면서 숫자를 저장하면서 이미 저장한 숫자가 나타나면 true를 반환하는 것.. 2023. 10. 27.
136. Single Number 주어진 정수 배열에서 한 번만 나타나는 유일한 숫자를 찾는 문제입니다. 이 문제는 비트 연산을 사용하여 풀 수 있는데, 아래는 문제의 자세한 설명입니다: 문제 설명: 정수 배열 nums가 주어집니다. 이 배열에는 오직 한 번만 나타나는 숫자가 하나만 있고, 나머지 숫자들은 모두 두 번씩 나타납니다. 오직 한 번만 나타나는 숫자를 찾아서 반환하세요. 예시: Input: nums = [4,1,2,1,2] Output: 4 위의 예시에서, 배열 nums에는 4가 하나만 나타나고, 나머지 숫자는 2번씩 나타나므로 4를 반환해야 합니다. 노트: 시간복잡도 O(n)과 추가 메모리 사용 없이 문제를 해결해야 합니다. 이 문제를 해결하는 한 가지 방법은 비트 연산을 사용하는 것입니다. 비트 연산을 사용하면 추가 메모리.. 2023. 10. 25.
108. Convert Sorted Array to Binary Search Tree 주어진 정렬된 정수 배열을 사용하여 균형 잡힌 이진 검색 트리(Binary Search Tree)를 만드는 문제입니다. 아래는 문제의 자세한 설명입니다: 문제 설명: 주어진 정렬된 정수 배열 nums를 사용하여 높이 균형을 갖는 이진 검색 트리를 생성하세요. 이진 검색 트리는 다음과 같은 조건을 만족해야 합니다: 노드의 왼쪽 서브 트리에는 해당 노드보다 작은 값의 노드들만 포함되어야 합니다. 노드의 오른쪽 서브 트리에는 해당 노드보다 큰 값의 노드들만 포함되어야 합니다. 각 서브 트리도 이진 검색 트리여야 합니다. 예시: 주어진 nums 배열이 [1, 2, 3]라면, 다음과 같은 이진 검색 트리를 생성해야 합니다: 2 / \ 1 3 노트: nums 배열의 길이는 1 이상 10^4 이하입니다. nums 배.. 2023. 10. 25.
728x90
반응형