코딩 퀴즈 - 최소 홀수값 구하기
이번 코딩 퀴즈는 이진 탐색 트리(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 
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!