이벤트 버블링과 캡처링 이벤트 위임에 대해 알려면 이벤트 버블링과 이벤트 캡처링의 동작 방식을 선수지식으로 알고있어야 한다. 이벤트 버블링 이란? 하위 엘리먼트에 이벤트가 발생할 때 그 엘리먼트부터 상위요소 까지 이벤트가 전달되는 방식이다. 이벤트 캡처링 이란? 하위 엘리먼트에 이벤트 핸들러가 있을 때 상위 엘리먼트부터 이벤트가 발생하기 시작해서 하위 엘리먼트까지 이벤트가 전달되는 방식이다. 예시를 보자 예시 document.querySelector('li').addEventListener('click', () => console.log('li 클릭')); document.querySelector('ul').addEventListener('click', () => console.log('ul 클릭'));..
JavaScript
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/154538?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 처음 문제를 보고 dfs나 bfs를 이용해 문제를 풀이할까 생각했지만, 제한 사항을 보면 x와 y의 크기가 최대 1,000,000까지인걸 보면 시간복잡도를 생각해 시간초과 오류를 고려해 이전 계산 결과를 이용하는 DP를 이용해 풀기로 했다. 동작 시간을 줄이기 위해 for문에서 해당 칸이 -1인 곳은 건너 뛰고 다음 동작을 하게 해준..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 정규식 사용이 활약하는 문제이다. (\D+)는 숫자가 아닌 것 => 문제에서는 -와 같은 특수문자까지 포함해야 한다. (\d+)는 숫자인 것 => 중간에 숫자로 구성된 부분 뒤에 파일 형식(TAIL)은 파일명으로만 정렬해야되므로 고려안해도 된다. match메서드를 이용해 ['img12', 'img', '12', index: 0, input: 'img12.png', gro..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42584# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 stack을 이용해 풀이를 진행했다. 문제는 각 가격이 언제까지 떨어지지 않는가를 측정하는 문제인데, 떨어지는 기준은 해당 가격보다 아래로 내려가는 것이다. 스택에 떨어지지 않는 가격의 인덱스를 담고, 이후에 떨어지게 되면 stack의 마지막 요소부터 빼줘서 기간을 계산한다. 위의 과정을 거치고도 stack에 남아있는 수들은 한번도 떨어지지 않은 가격이므로 가격 배열의..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 상하좌우 커맨드를 처리할 함수는 객체형식으로 정리해 선언해줬다. 이 방식은 처음 사용해 보는데 괜찬은거 같아서 적용해 봤다. 커맨드를 이용해 움직일 때 입력되는 위치의 조건을 걸어야 한다. 좌표는 x와y 좌표 모두 -5부터 5까지의 범위를 갖기때문에 왼쪽을 예로들면 x좌표가 -4부터 5까지는 왼쪽으로 이동할 수 있고 이외의 경우는 입력된 좌표 그대로 반환해준다. 이 개념..
문제 설명 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 문제 풀이 방법 이 문제는 꽤나 유명한 DP문제 중 배낭문제이다. 처음 문제에 접근할 때 DFS으로 접근했지만 시간초과 에러가 발생해 DP 풀이를 참고했다. 물건의 총 갯수 n, 넣을 수 있는 총 무게 maxWeight를 이용해 각 물건을 넣는 시도를 할 때마다 각 무게에서의 최대 가치값을 측정하기 위해 가로가 maxWe..