2025/01 106

문자열 심화: Trie 트라이 문제 (19)

가장 긴 접두어 찾기 관련 문제14. Longest Common Prefix (Easy)설명: 문자열 배열에서 가장 긴 공통 접두사를 찾습니다.핵심 개념: 문자열 비교, 정렬.648. Replace Words (Medium)설명: 문장의 단어를 사전에 있는 가장 짧은 접두사로 대체합니다.핵심 개념: Trie, 문자열 처리.745. Prefix and Suffix Search (Hard)설명: 특정 접두사와 접미사로 시작/끝나는 단어를 찾습니다.핵심 개념: Trie, 해시맵.28. Find the Index of the First Occurrence in a String (strStr) (Easy)설명: 특정 패턴 문자열의 시작 인덱스를 반환합니다.핵심 개념: KMP 알고리즘, 문자열 비교.214. Sho..

LeetCode의 Weekly Contest

LeetCode의 Weekly Contest는 매주 정해진 시간에 열리는 프로그래밍 대회로, 알고리즘 문제를 실시간으로 풀며 다른 참가자들과 경쟁할 수 있는 이벤트입니다. 이는 프로그래밍 실력을 평가하고 향상시키는 데 매우 유용한 도구로, 많은 개발자와 학생들이 참여합니다.주요 특징대회 주기:매주 **일요일 오전 (한국 기준)**에 열림.주로 매주 한 번 정기적으로 진행.참여 방식:무료로 참여 가능.로그인 후 대회 페이지에서 대회 시작 시간에 맞춰 참가.제한 시간:1시간 30분 (90분) 동안 문제를 풀어야 함.문제 구성:보통 4개의 문제로 구성됨.난이도는 쉬운 문제부터 어려운 문제 순으로 배치.1번 문제: 쉬운 수준 (Easy).2번 문제: 보통 수준 (Medium).3번 문제: 보통어려운 수준 (Me..

Leet Code Mock Assessment

LeetCode의 Mock Assessment는 실제 인터뷰와 유사한 환경에서 문제를 풀어보며 연습할 수 있는 기능입니다. 각 카테고리는 실제 인터뷰 과정의 각 단계에 맞게 설계되어 있으며, 인터뷰 준비에 도움이 되도록 다양한 문제를 제공합니다.각 카테고리 설명1. Online Assessment (OA):목적: 채용 프로세스 초기 단계에서 주어지는 코딩 테스트를 모방.특징:제한 시간 내에 여러 문제를 풀어야 함.자동 평가 시스템을 통해 제출한 코드가 채점됨.대상: 회사 지원 직후나 서류 전형을 통과한 후 받는 경우가 많음.예시 문제: 알고리즘 문제, 데이터 구조 문제 등이 포함됨.2. Phone Interview:목적: 기술 면접의 초기 단계로, 전화 또는 온라인 화상 통화를 통해 진행되는 인터뷰를 모..

1312. Minimum Insertion Steps to Make a String Palindrome

1312. Minimum Insertion Steps to Make a String Palindrome class Solution: def minInsertions(self, s: str) -> int: # Palindrome: 앞뒤로 읽었을때 동일한 string # 최소로 추가해야 하는 문자 개수를 반환 # 이미 Palindrome 이면 0 반환 # 그럼 우선 Palindrome 인지 체크하고 if s == s[::-1]: # Palindrome 이면 return 0 # 아니면 # s 와 뒤집은 s, 즉 reverse_s 의 LCS 최고로 긴 공통 문자열 찾아서, ..

LeetCode/DP심화 2025.01.06

354. Russian Doll Envelopes ★★★

354. Russian Doll Envelopes class Solution: def maxEnvelopes(self, envelopes: List[List[int]]) -> int: # DP로 풀어야 함 # 안에 들어가려면, 가로, 세로 둘다 다른것보다 작아야 함 # 우선 정렬하고 # envelope 리스트에는 계속 포함되는 거는 계속 추가하고 # max_width, max_height 최대로 업데이트.. # LIS 풀듯이 풀어보자! envelopes = sorted(envelopes, key=lambda k:(k[0], k[1])) # 자신 포함이니 1로 초기화 dp =..

LeetCode/DP심화 2025.01.06

해밀턴 순회 및 경로 문제

해밀턴 순회 문제(모든 정점을 한 번씩 방문하고 다시 시작 정점으로 돌아올 수 있는지를 판단, 가중치 고려하지 않음) 해밀턴 경로 문제(해밀턴 순회와 비슷하지만 시작정점으로 돌아올 필요는 없는 경로) 알고리즘 팁DFS + 백트래킹: 해밀턴 순회와 경로 문제의 기본. 재귀적으로 경로를 탐색하며 경로가 유효한지 확인.DP + 비트마스크: 모든 정점을 방문하는 경로 문제를 효율적으로 해결하는 방법. 특히 가중치가 있는 그래프에서 유용.위상 정렬: DAG에서 해밀턴 경로를 찾는 데 강력한 도구. 해밀턴 순회 문제 (Hamiltonian Cycle)목표: 그래프에서 모든 정점을 한 번씩 방문하고 시작 정점으로 돌아올 수 있는지를 판단합니다.Find Hamiltonian Cycle (Custom Problem - ..

경로문제 || (25)

모든 정점을 방문하고 시작점으로 다시 돌아오는 모든 경로를 찾는 문제All Paths From Source to Target (LeetCode 797)설명: 방향 그래프에서 시작점부터 끝점까지 모든 가능한 경로를 찾습니다.핵심 개념: DFS, 백트래킹.Find All Possible Paths (Custom Problem - 구현 필요)설명: 모든 정점을 방문하는 모든 경로를 출력합니다.핵심 개념: DFS, 백트래킹.Word Search (LeetCode 79)설명: 2D 그리드에서 주어진 단어를 찾는 경로를 출력합니다.핵심 개념: DFS, 백트래킹. 모든 정점을 방문하고 시작점으로 다시 돌아오는 모든 경로를 찾아서 모든 경로의 가중치 합을 구하는 문제Cheapest Flights Within K Sto..

경로 문제 | (38)

타잔 알고리즘 (Tarjan's Algorithm)개념타잔 알고리즘은 그래프에서 **강하게 연결된 컴포넌트(SCC, Strongly Connected Components)**를 찾는 알고리즘입니다.DFS 기반으로 동작하며, 각 노드의 발견 순서(low-link value)를 이용합니다.방향 그래프에서 SCC를 탐색하는 데 유용합니다.문제Critical Connections in a Network (LeetCode 1192)설명: 네트워크에서 단일 연결을 끊으면 그래프가 분리되는 간선을 찾습니다.핵심 개념: Tarjan's Algorithm, DFS.Strongly Connected Components (Custom Problem - 구현 필요)설명: 방향 그래프에서 모든 SCC를 탐지합니다.핵심 개념: ..