createElement
'자바스크립트' 태그의 글 목록

자바스크립트

Javascript

[JS] 클로저(Closures) 이해하기

클로저를 이해하기 위해 '실행 컨텍스트(EC)'의 개념이 필요합니다. 먼저 '실행 컨텍스트(EC)' 부터 간략히 알아볼까요? 실행 컨텍스트(Execution Context) 실행 가능한 코드가 실행되기 위해 필요한 환경을 말합니다. 즉, 자바스크립트가 실행되는 환경이며 코드가 실행되기 위한 모든 정보가 저장되어 있습니다. 실행 컨텍스트의 종류 크게 전역 실행 컨텍스트와 함수 실행 컨텍스트가 존재합니다. 1. 전역 실행 컨텍스트(Global Execution Context) default context 단 한 개만 정의되는 컨텍스트입니다. Call Stack에 가장 먼저 추가되어 앱이 종료할 때 삭제됩니다. 함수 밖의 코드를 위해 존재합니다. 2. 함수 실행 컨텍스트(Function Execution Co..

Algorithm

[백준] 2623 음악프로그램(JS)

2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net 위상 정렬 알고리즘을 사용하는 문제이다. 선수 과목을 고려한 학습 순서 결정과 같은 문제일 때, 위상 정렬 알고리즘으로 풀이할 수 있다. 위상 정렬을 모르시는 분들을 위해 아래를 참고해주세요! 위상 정렬 위상 정렬은 방향 그래프에서 간선으로 주어진 정점 간 선후 관계를 위배하지 않도록 나열하는 정렬을 말한다. 위상 정렬은 사이클이 존재하지 않는 방향 그래프에서만 정의된다. 선수 과목과 같이 가장 앞에 올 수 있는 노드를 먼저 생각해야 한다. ..

Algorithm

[프로그래머스] 스킬트리(JS)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이전에 푼 문제를 다시 풀었는데 더 간단한 방법으로 해결하여 이 글을 작성한다. 이번에 작성한 코드 이전 코드보다 가독성이 더 좋아졌고 더 간단하게 풀이해보았다. function solution(skill, skill_trees) { let cnt = 0; for (let list of skill_trees) { // skill에 포함된 스킬만 뽑기 let s = list.split("").filter((v) => skill.indexOf(v) > -1).join(""); // 항상 첫 번째 스킬부터 배운 후..

Javascript

프로토타입(Prototype) 이해하기 2

이전 글에서 이어지는 내용입니다. 프로토타입(Prototype) 이해하기 1 프로토타입을 이해하기 위해서는 ES6 클래스 개념이 등장하기 이전, 클래스라는 개념 없이 객체를 생성할 수 있었던 생성자 함수의 이해가 필요하다. 생성자 함수(Constructor functions) 다른 언어의 dmswl98-dev.tistory.com 이전 글의 핵심은 '인스턴스는 생성자 함수의 프로토타입과 연결됨'이었다. 과연 인스턴스는 생성자 함수의 프로토타입과 어떻게 연결될까? 이는 프로토타입 상속과 프로토타입 체인에 의해 설명된다. 아래 글을 모두 읽은 뒤 다시 보길 바란다. 프로토타입 상속(Prototypal inheritance) 이전 글의 코드를 다시 살펴보자. const Animal = function(spec..