26.Remove Duplicates from Sorted Array
·
Coding Test/LeetCode
난이도: Easy링크: LeetCode 26풀이 날짜: 2025/10/15 1. 문제 이해정렬된 배열 nums가 주어질 때, 중복된 요소를 제거하고 고유한 요소만 남긴 후, 그 길이를 반환해야 한다.단, 새로운 배열을 만들면 안 되고, 주어진 배열 nums를 직접 수정(in-place)해야 한다.즉, 문제의 핵심은 배열을 정리(clean up)하면서 중복을 제거하는 효율적인 방법을 찾는 것이다. 2. 아이디어: Two Pointers두 개의 포인터를 사용해 배열을 한 번 순회하며, 중복되지 않은 값만 앞으로 모으는 방식이다.포인터역할i배열을 순회하면서 현재 원소 확인current유일한 요소를 저장할 다음 위치배열이 정렬되어 있으므로, 인접한 두 원소가 다르면 새로운 고유 값이 등장한 것이다. 3. 풀이 ..
27.Remove Element
·
Coding Test/LeetCode
난이도: Easy링크: LeetCode 27풀이 날짜: 2025/10/14 1. 문제 이해배열 nums와 값 val이 주어졌을 때, nums 내에서 val을 모두 제거한 후의 길이를 반환하는 문제다.단, 추가적인 배열을 사용하지 말고 (in-place), 제거 후에도 나머지 원소들의 상대적 순서는 유지되어야 한다. 2. 아이디어: Two Pointers배열을 한 번 순회할 포인터와 val가 아닌 값들만 앞으로 옮기기 위한 포인터 2개를 사용한다.포인터역할num순회용 포인터 (for문으로 배열을 순회)currentval이 아닌 값이 들어갈 위치를 가리킴 3. 코드 분석var removeElement = function(nums, val) { let current = 0; for (let num of ..
88.Merge Sorted Array
·
Coding Test/LeetCode
난이도: Easy링크: LeetCode 88풀이 날짜: 2025/10/14 1. 문제 이해두 개의 정렬된 배열 nums1과 nums2가 주어지는데, 여기서 nums1은 두 배열의 모든 원소를 담을 수 있도록 뒤쪽에 여유 공간이 있다. 이 조건에서 nums2의 원소를 모두 nums1 안에 병합하여 오름차순 정렬된 하나의 배열을 완성하는 것이 목표이다.단, 추가적인 배열을 만들지 않고 in-place(제자리) 에서 해결해야 한다. 2. 접근 방법처음엔 이렇게 생각할 수도 있다. “앞에서부터 작은 값부터 비교하며 채워넣으면 되겠네?”하지만 그렇게 하면 nums1의 원래 데이터가 덮어씌워질 위험이 있다. 즉, 아직 비교가 끝나지 않은 값이 사라질 수 있다.따라서 뒤에서부터 큰 값을 채워넣는 방식이 훨씬 안전하고..
이벤트 버블링과 캡처링 완전 이해하기
·
카테고리 없음
브라우저에서 이벤트는 단순히 한 요소에서만 끝나지 않는다.사용자가 어떤 버튼을 클릭하면, 그 클릭 이벤트는 DOM 트리 전체를 따라 전파(propagation) 되며 여러 단계의 흐름을 거친다.이벤트 전파는 크게 두 가지 흐름으로 나뉜다 — 버블링(Bubbling) 과 캡처링(Capturing).1. 버블링 (Bubbling)이벤트 버블링은 가장 안쪽의 요소에서 시작해 바깥쪽 부모 요소로 전파되는 현상이다.즉, 특정 요소에 이벤트가 발생하면 해당 요소의 핸들러가 실행된 후,그 이벤트는 부모 → 조상 순으로 계속 전파되며 각각의 핸들러가 차례로 실행된다. 이때 이벤트가 시작된 가장 안쪽의 요소를 타깃(target) 이라 하며, event.target으로 접근할 수 있다. FORM DIV P..
프로세스 (Process)
·
Coding Test/Programmers
난이도: level2링크: 프로세스풀이 날짜: 2025.10.14 1. 문제 이해운영체제의 프로세스들은 각각 우선순위(priority) 를 가지고 있으며, CPU는 가장 높은 우선순위의 프로세스부터 실행한다.만약 대기열의 맨 앞 프로세스보다 더 높은 우선순위를 가진 프로세스가 뒤에 있다면, 그 프로세스는 맨 뒤로 이동한다.이때, 내가 요청한 특정 위치(location)의 프로세스가 몇 번째로 실행되는지 구하는 문제이다. 2. 접근 아이디어이 문제는 “우선순위 기반 프로세스 스케줄링”을 큐(Queue) 로 시뮬레이션하는 문제다. 아이디어를 정리하면 아래와 같다. 2. 각 프로세스를 index와 우선순위(priority) 로 묶어 관리한다.let queue = priorities.map((val, idx) ..
다리를 지나는 트럭 (Bridge Truck)
·
Coding Test/Programmers
난이도: level 2링크: Programmers 42583 - 다리를 지나는 트럭풀이 날짜: 2025.10.14 - 중간에 집중이 흐트러졌으나, 어쨌든 끝까지 감 1. 문제 이해 트럭 여러 대가 무게 제한이 있는 다리를 일정 시간 동안 건너는 시뮬레이션 문제다.모든 트럭이 다리를 건너는 데 걸리는 총 시간을 구해야 한다. 조건은 다음과 같다.다리는 한 번에 여러 대의 트럭이 올라갈 수 있다.다리 위 트럭의 총 무게가 weight 이하여야 한다.각 트럭은 1초에 1칸씩 전진한다. (설명에는 없으나 입출력 예를 참고)다리 길이는 bridge_length로 주어지고, 트럭이 다리를 완전히 건너는 데에는 bridge_length초가 걸린다. 2. 접근 아이디어 및 자료구조이 문제는 단순히 트럭을 한 칸씩 움직..