분류 전체보기 720

[JS] 검색어 자동완성 구현시 change와 keyup event를 같이 쓰는 이유

3. events const searchInput = document.querySelector(".search"); const suggestions = document.querySelector(".suggestions"); searchInput.addEventListener("change", displayMatches); searchInput.addEventListener("keyup", displayMatches); search클래스를 가진 input box가 변하거나 key가 눌릴때마다 displayMatches를 불러옵니다. keyup은 키보드를 이용한 입력만 감지함. (마우스 클릭으로 붙혀넣기하거나 자동완성 단어를 클릭해서 입력되는 이벤트 인식x) change는 외부를 눌렀을때만 인지함. 키보드 ..

frontend/JavaScript 2021.10.25

[JS30] 6. Type Ahead 추가공부. 비동기 API호출 fetch, Promise, async await, 정규표현식 Regexp

fetch 콜백함수 : 나중에 call하는 방법으로 순서를 지정해주는 비동기 처리. JavaSecipt, API, Markup을 근간으로 한 JAM stack. 과거처럼 서버단에서 API를 호출해주기 보다 Client에서 직접 API 호출하는 경우가 많아짐. 브라우저에서 직접 비동기로HTTP통신을 하는 Ajax fetch 함수는 원격 API를 간편하게 호출할 수 있도록 브라우저 내장 함수. fetch이전에는 request, axios, jQuery 라이브러리. node.js에서는 node-fetch나 unfetch 라이브러리. IE에서는 지원 안함. 사용법 fetch(url, options) .then((response) => console.log("response:", response)) .catch(..

frontend/JavaScript 2021.10.25

[JS30][Browser] #15 Local Storage

Local Storage local storage 이벤트 위임. data는 늘 서버로 보내야 할까? 브라우저는 서버로 data를 보내면 해당 내용의 반환에 따라 rerendering된다. 하지만 중요도가 낮거나 유실되어도 될 데이터까지 DB에 저장해야할까? 브라우저는 이런 데이터를 client단에서 해결하기 위한 웹 스토리지를 제공한다. 웹 스토리지는 브라우저마다 제공하는 용량이 다르다. 같은 컴퓨터의 같은 브라우저에만 영속한다. Local Storage vs Session Storage 세션 스토리지는 웹 페이지의 세션이 끝날때 저장된 데이터가 지워지고 로컬 스토리지는 지워지지 않는다. 즉 동일 사이트를 여러 창에 띄우면 세션 스토리지에 격리되어 저장된다(로그인을 각각 따로) 하지만 로컬 스토리지에 담..

frontend/JavaScript 2021.10.24

[KAKAO 2021][Python] 순위 검색

단순히 조건이 여러개 주어지는 걸 보고 교집합으로 풀려고 했다. 하지만 넓은 범위의 쿼리가 여려개 주어진다면 매번 교집합 연산을 해주어야 한다는 점에서 효율성이 부족했다. 오히려 상태조건이 4 * 3 * 3 * 3 으로 몇개 되지 않았기 때문에 dp로 배열을 만들거나 경우의 수에 따라 최초 배열에 삽입시켜 준 후 정렬하는게 약 3배정도 빨랐다. 조건이 적을 땐 모든 조건에 대해 입력해두는게 후에 쿼리를 수행함에 있어 유리한걸 잊지말자. 쿼리문제. 상태인자별로 미리 정리하자. 검색을 단순화 하자. 아래는 교집합 코드 그 아래 상태조사 코드 def solution(info, query): answer = [] lang_set = defaultdict(set) job_set = defaultdict(set) ..

[Algorithm] 0 - 1 Knapsack 문제와 DP 기본

0 - 1Knapsack Problem 쪼갤 수 없는 물건을 배낭에 담는문제로 DP로 풀어야하는 대표적인 문제 DP로 풀수 있는지 여부는 Principle of Optimality 성립 여부를 보면 된다. Principle of Optimality 어떤 문제의 입력 사례의 최적해가 그 입력 사례를 분할한 부분사례에 대한 최적해를 항상 포함하고 있으면, 그 문제에 대하여 최적의 원리가 성립한다 즉 부분사례의 최적해가 현 사례의 최적해의 부품이 된다면 DP로 풀 수 있다. 물건을 취하지 않고 P[i-1][j]를 선택하느냐 취하고 P[i-1][j-wk] + v[i]를 하느냐. 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 13 13 2 0 0 0 0 8 8 13 13 3..

[백준][Python] 1976 여행가자

분리집합 문제. union-find로 묶고 다른게 있으면 No 한집단이면 YES import sys input = sys.stdin.readline def union(x, y): x = find(x) y = find(y) if x > y: x, y = y, x parents[y] = x def find(x): if parents[x] == x: return x parents[x] = find(parents[x]) return parents[x] N = int(input()) M = int(input()) edges = [list(map(int, input().split())) for _ in range(N)] plan = list(map(lambda x: int(x) - 1, input().split()..