728x90 전체 글292 [Leetcode]238. Product of Array Except Self 📌 한 줄 요약 "나만 빼고 전부 곱하기"는 내 왼쪽 전부의 곱 × 내 오른쪽 전부의 곱이다. 누적합처럼 한 번 쌓아 두고 재사용하면 나눗셈 없이 O(n)에 끝난다.이 글에서 다루는 것전체 곱 ÷ 자기 자신이 왜 막혀 있는지, 0이 있으면 무엇이 깨지는지구간합·누적합 이론이 이 문제에서 왜 필요한지, 그리고 합과 곱이 갈리는 지점왼쪽 곱을 먼저 쌓고 오른쪽 곱은 변수 하나로 이어가며 공간까지 줄이는 과정Python · JavaScript · Java 코드 (알고리즘, 변수명, 주석 위치를 통일)흔한 실수를 실제로 돌려서 나온 오답 출력1. 문제문제: 238. Product of Array Except Self — https://leetcode.com/problems/product-of-array-exc.. 2026. 10. 8. [Leetcode]20. Valid Parentheses 📌 한 줄 요약 여는 괄호는 스택에 쌓고, 닫는 괄호가 나오면 스택 맨 위(= 가장 최근에 열린 괄호)와 짝이 맞는지 본다. 끝까지 읽었을 때 스택이 비어 있어야 올바른 괄호열이다.이 글에서 다루는 것괄호 짝 맞추기가 왜 스택(LIFO) 문제인지 (스택 이론은 이 글 참고)"종류별 개수 세기"가 왜 통하지 않는지실패하는 경우는 딱 3가지라는 점, 그리고 코드의 어느 줄이 각각을 막는지Python · JavaScript · Java 코드 (알고리즘, 변수명, 주석 위치를 통일)코드에 나온 문법: 스택으로 쓰는 list / Array / Stack, 문자열 순회, 빈 스택에서 꺼낼 때의 언어별 차이짝 규칙을 표 하나로 모은 개선안과, 직접 잰 결과 (개선안이 모든 언어에서 빠르지는 않았다)1. 문제문제: .. 2026. 10. 7. [Leetcode]704. Binary Search 문제704. Binary Search — https://leetcode.com/problems/binary-search/난이도: Easy유형: 이분 탐색, 배열정렬된 배열에서 찾는 값의 인덱스를 구하고, 없으면 -1을 반환하는 탐색 문제입니다. 요구 시간 복잡도가 로그 수준이라 앞에서부터 하나씩 확인하는 방식은 쓸 수 없습니다.접근기본 이분 탐색을 그대로 적용하면 풀리는 문제입니다. 이분 탐색의 개념과 동작 원리는 아래 글을 참고해주세요. 먼저 읽고 오시면 이어지는 코드를 따라가기 편합니다.이진 탐색(Binary Search) 정리 글그 글에는 Lower/Upper Bound 같은 변형도 나오는데, 이 문제에는 필요 없습니다. 값이 정확히 같은 위치만 찾으면 되기 때문입니다.사고 과정은 이렇습니다.배열이.. 2026. 10. 2. [Leetcode]125. Valid Palindrome 📌 한 줄 요약 영문자·숫자만 남긴 소문자 문자열을 만들고, 양 끝에서 안쪽으로 짝지어 비교한다(투 포인터). 정리 단계를 없애고 포인터로 건너뛰며 비교하는 방법도 함께 본다.이 글에서 다루는 것"정리"와 "비교"를 나눠서 생각하는 사고 과정왜 절반만 비교해도 되는가 (홀수 길이의 가운데 글자 포함)이 문제가 왜 투 포인터에 잘 맞는지 (투 포인터 이론은 이 글 참고)Python · JavaScript · Java 코드 (알고리즘, 변수명, 주석 위치를 통일)코드에 나온 문법: re.sub, replaceAll (JS의 g 플래그 포함), Java의 String.replaceAll정리한 문자열을 만들지 않는 투 포인터 개선안, 그리고 언어별로 실제로 빨라지는지 직접 잰 결과1. 문제문제: 125. Va.. 2026. 10. 1. [Leetcode]347. Top K Frequent Elements 📌 한 줄 요약빈도는 해시맵으로 세고, "상위 k개"는 ① 전부 정렬하거나 ② 크기 k짜리 최소 힙으로 걸러낸다.이 글에서 다루는 것정렬 풀이에서 힙 풀이로 넘어가는 사고 과정힙 개념과, 이 문제에서 힙이 왜 어울리는지Python · JavaScript · Java 코드 (알고리즘, 변수명, 주석 위치를 통일)코드에 나온 문법 정리: Counter / most_common, 스프레드 ... / sort / slice / map, merge / Map.Entry / PriorityQueue1. 문제문제: 347. Top K Frequent Elements — https://leetcode.com/problems/top-k-frequent-elements/요약: 정수 배열에서 등장 횟수가 큰 값을 위에서부.. 2026. 9. 30. [Leetcode]121. Best Time to Buy and Sell Stock 1. 문제문제: 121. Best Time to Buy and Sell Stock — https://leetcode.com/problems/best-time-to-buy-and-sell-stock/요약: 날짜별 주가가 담긴 배열이 주어진다. 어느 하루에 주식을 사고 그보다 뒤의 다른 하루에 팔아서 얻을 수 있는 최대 이익을 구한다. 거래는 딱 한 번만 할 수 있고, 이익을 낼 수 없으면 0을 반환한다.난이도: Easy유형: 배열 그리디 다이나믹 프로그래밍입력 규모: 배열 길이는 최대 10^5, 가격은 0 이상 10^4 이하 수준직접 만든 예시:prices = [9, 4, 7, 2, 8] → 6 (2에 사서 8에 팜)prices = [5, 4, 3, 2] → 0 (계속 내려가서 거래하지.. 2026. 9. 29. 이전 1 2 3 4 ··· 49 다음 728x90