Algorithm & Data Structure/LeetCode
-
LeetCode: 22. Generate ParenthesesAlgorithm & Data Structure/LeetCode 2025. 10. 27. 17:01
22. Generate ParenthesesLeetCode 22번 문제인 Generate Parentheses는 괄호((, ))를 사용하여 올바른 조합만 생성하는 대표적인 백트래킹 문제입니다.문제 설명입력으로 n이 주어지면, n 쌍의 괄호로 만들 수 있는모든 잘 형성된(well-formed) 괄호 문자열을 반환해야 합니다.예시InputOutputn = 1["()"]n = 3["((()))","(()())","(())()","()(())","()()()"]핵심 개념올바른 괄호 문자열은 다음 조건을 만족합니다.여는 괄호 ( 개수는 n을 초과할 수 없다언제나 ) 개수 ≤ ( 개수 이어야 한다(닫는 괄호가 먼저 나오면 불가능)즉, 생성 과정에서 잘못된 탐색을 조기에 차단하면모든 경우를 탐색할 필요가 없습니다.이..
-
LeetCode: 17. Letter Combinations of a Phone NumberAlgorithm & Data Structure/LeetCode 2025. 10. 24. 21:52
LeetCode: 17. Letter Combinations of a Phone Number숫자 문자열 digits(2–9) 가 주어지면, 전화 키패드 매핑에 따라 만들 수 있는 모든 문자 조합을 구하는 문제입니다.예를 들어 "23" → ["ad","ae","af","bd","be","bf","cd","ce","cf"].이 글에서는 접근 방식(아이디어) → 코드 구조 → 시간/공간 복잡도 → 엣지 케이스 → 대안 풀이(BFS) 순서로 정리합니다. 마지막에 디버깅 팁과 테스트 케이스도 넣었습니다.문제 핵심 요약각 숫자(2–9)는 문자 집합에 매핑됨:2→abc, 3→def, 4→ghi, 5→jkl, 6→mno, 7→pqrs, 8→tuv, 9→wxyz목표: 각 자리에서 문자 1개씩 골라 모든 길이 digits..
-
LeetCode: 1. Two SumAlgorithm & Data Structure/LeetCode 2024. 11. 26. 22:28
Two Sum 문제 풀이: 두 가지 접근법문제 설명https://leetcode.com/problems/two-sum/ 배열 nums와 정수 target이 주어졌을 때, 합이 target이 되는 두 숫자의 인덱스를 반환하는 문제입니다.각 입력은 하나의 정답을 가지며, 동일한 요소를 두 번 사용할 수 없습니다.반환값은 인덱스 쌍으로, 순서는 상관없습니다.1. 브루트포스(Brute Force) 방법첫 번째로 떠오르는 직관적인 접근법은 모든 가능한 쌍을 검사하는 것입니다.이 방법은 단순하지만, 시간 복잡도가 높아 효율적이지 않습니다.시간 복잡도O(n²): 모든 요소를 두 번 반복하며 쌍을 검사하기 때문입니다.고랭 코드func twoSum(nums []int, target int) []int { for i..