코딩 퀴즈 - 최소 홀수값 구하기
이번 코딩 퀴즈는 이진 탐색 트리(Binary Search Tree, BST)
를 활용하여 주어진 리스트 내 최소 홀수값을 구하는 함수를 작성하는 것입니다.
함수는 입력으로 주어진 정수 리스트를 BST에 추가하고, 리스트 내 최소 홀수값을 찾아 이를 반환해야 합니다.
예를 들어 [30, 20, 40, 10, 25, 35, 45]가 입력으로 주어진다면, solution 함수는 25를 반환해야 합니다.
solution 코드 작성
class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None def insertIntoBST(root, val): if not root: return TreeNode(val) if val < root.val: root.left = insertIntoBST(root.left, val) else: root.right = insertIntoBST(root.right, val) return root def findMinValue(root, condition): if not root: return float("inf") if condition(root.val): return min( root.val, findMinValue(root.left, condition), findMinValue(root.right, condition), ) else: return min( findMinValue(root.left, condition), findMinValue(root.right, condition) ) def solution(numbers): # 여기에 코드를 작성하세요 return
제한 사항
-
입력 리스트에는 중복되는 정수가 없다고 가정합니다.
-
BST는 중복된 값을 허용하지 않습니다.
-
입력 리스트는 비어 있지 않으며, 최소 한 개 이상의 정수를 포함합니다.
-
조건에 해당하는 노드가 없는 경우, 함수는
None
을 반환해야 합니다.
입출력 예시
-
입력:
[10, 5, 15, 3, 7, 13, 18]
-
출력:
3
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help