56. Merge Intervals
📌 문제 설명intervals 배열이 주어지고,각 원소는 [start, end] 형태입니다.겹치는 interval을 모두 병합해서 반환하세요.Input: intervals = [[1,3],[2,6],[8,10]]Output: [[1,6],[8,10]] 정렬: 시작 기준 정렬 완료 [[1,3], [2,6], [8,10]]초기값: merged = [[1,3]]다음 구간 [2,6] 확인:1,3의 끝(3)이 2,6의 시작(2)보다 큽니다. (겹침!)merged의 마지막을 [1, max(3, 6)] 즉, [1, 6]으로 업데이트합니다.다음 구간 [8,10] 확인:1,6의 끝(6)이 8,10의 시작(8)보다 작습니다. (안 겹침!)merged에 [8,10]을 새로 추가합니다.최종: [[1,6], [8,10]]cl..
2026. 1. 18.
238. Product of Array Except Self
📌 문제 설명정수 배열 nums 가 주어질 때각 인덱스 i에 대해 nums[i] 를 제외한 나머지 원소들의 곱을 반환하세요.⚠️ 조건:나눗셈 사용 금지O(n) 시간 복잡도추가 배열 사용 가능Input: nums = [1,2,3,4]Output: [24,12,8,6]Input: nums = [-1,1,0,-3,3]Output: [0,0,9,0,0] ⭐ 구현 포인트배열을 두 번 순회합니다.첫 번째 순회에서는 각 인덱스 기준 왼쪽 요소들의 곱을 저장하고,두 번째 순회에서는 오른쪽 요소들의 곱을 누적하면서기존 값에 곱해 최종 결과를 만듭니다.나눗셈 없이 O(n) 시간에 해결할 수 있습니다. class Solution: def productExceptSelf(self, nums: List[int]) -..
2026. 1. 18.