LeetCode/Top Interview 150 106

433. Minimum Genetic Mutation

433. Minimum Genetic Mutation 이 문제는 그래프 탐색 문제로 생각할 수 있습니다.각각의 유효한 유전자 문자열(gene)을 노드로 보고,한 번의 변이로 연결될 수 있는 두 노드를 간선으로 연결하여최단 경로를 찾는 방식으로 해결합니다.문제의 주요 포인트유전자 변이의 정의:두 유전자 문자열에서 단 하나의 문자만 다른 경우, 한 번의 변이라고 간주합니다.예: "AACCGGTT" → "AACCGGTA" (1개의 문자만 변이).유효한 변이 조건:변이 후의 문자열은 반드시 bank에 포함되어 있어야 합니다. 그렇지 않으면 유효하지 않은 변이로 간주합니다.목표:startGene에서 endGene까지 변이를 통해 도달하기 위해 필요한 최소 변이 횟수를 계산합니다.도달할 수 없는 경우 -1을 반환합..

Sorting(merge sort): 23. Merge k Sorted Lists ★★★

23. Merge k Sorted Lists https://youtu.be/q5a5OiGbT6Q?si=Oe5XE1QtO56CiD-s # Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def mergeKLists(self, lists: List[Optional[ListNode]]) -> Optional[ListNode]: # 입력으로 주어진 리스트가 비어 있거나, 리스트의 길이가 0일 경우 None 반환 if not lists or len(..

108. Convert Sorted Array to Binary Search Tree

108. Convert Sorted Array to Binary Search Tree 이 문제는 정렬된 정수 배열(nums)이 주어질 때, 이를 사용하여 **높이 균형 이진 탐색 트리(Height-Balanced BST)**를 생성하라는 요청입니다.주요 용어와 개념이진 탐색 트리(Binary Search Tree, BST):각 노드는 최대 두 개의 자식 노드를 가질 수 있습니다.BST의 특징:왼쪽 서브트리의 모든 값은 부모 노드보다 작음.오른쪽 서브트리의 모든 값은 부모 노드보다 큼.높이 균형 트리(Height-Balanced):모든 노드에서 왼쪽 서브트리와 오른쪽 서브트리의 높이 차이가 최대 1인 트리.트리가 균형 잡혀 있어야, 검색 및 삽입 연산이 효율적으로 이루어짐.문제의 요구사항정렬된 배열 num..

22. Generate Parentheses

22. Generate Parentheses https://youtu.be/s9fokUqJ76A?si=ERC4z90YXz3-fkws class Solution: def generateParenthesis(self, n: int) -> List[str]: # stack: 현재까지 생성된 괄호를 저장하는 스택 # res: 유효한 괄호 조합을 저장할 결과 리스트 stack = [] res = [] # 백트래킹 함수 정의 def backtrack(openN, closedN): # openN: 열린 괄호 '('의 개수 # closedN: 닫힌 괄호 ')'의 개수 # 베이스 케..

52. N-Queens II

52. N-Queens II 문제 설명: N-Queens IIN-Queens 문제는 n×n 체스판에서 n개의 퀸을 서로 공격하지 않도록 배치하는 문제입니다.이 문제의 목표는 모든 가능한 배치 방법의 개수를 찾는 것입니다.퀸(Queen)의 공격 조건퀸은 다음의 위치에 있는 다른 퀸을 공격할 수 있습니다:같은 행에 있는 퀸같은 열에 있는 퀸대각선에 있는 퀸 (왼쪽 위 ↖, 오른쪽 위 ↗, 왼쪽 아래 ↙, 오른쪽 아래 ↘)즉, 어떤 퀸도 서로 같은 행, 같은 열, 또는 대각선에 위치할 수 없습니다.문제 예제예제 1: n=4출력: 2설명:4×4 체스판에 퀸을 배치할 수 있는 경우의 수는 2개입니다.예제 2: n=1출력: 1설명:1×1 체스판에서는 퀸을 1개만 배치할 수 있으므로, 가능한 배치 방법은 1개입니다...