Javascript (4) 썸네일형 리스트형 [Modern JavaScript Deep Dive] Array Array 배열이란 여러개의 값을 순차적으로 나열한 자료구조입니다. 배열이 가지고 있는 값을 요소 (Element)라고 부릅니다. JavaScript의 모든 값은 배열의 요소가 될 수 있습니다. 즉, 원시값은 물론, 객체, 함수, 배열등 자바스크립트에서 값으로 인정하는 모든 것은 배열의 요소가 될 수 있습니다. 배열의 요소는 배열에서 자신의 위치를 나타내는 0 이상의 정수인 인덱스를 갖습니다. 배열은 index와 length 프로퍼티를 갖기 때문에 for문을 통해 순차적으로 접근할 수 있습니다. 자바스크립트에 배열이라는 타입은 존재하지 않습니다. 배열은 객체 타입입니다. typeof arr // object 배열은 배열 리터럴, Array 생성자 함수, Array.of, Array.from 메서드로 생성.. [Modern JavaScript Deep Dive] Iterable ES6에서 도입된 이터레이션 프로토콜은 순회 가능한 데이터 컬렉션(자료구조)를 만들기 위해 ECMAScript 사양에 정의하여 미리 약속한 규칙입니다. ES6 이전 순회 가능한 데이터 컬렉션, 배열, 문자열, 유사배열객체, DOM컬렉션 등은 통일된 규약 없이 나름의 구조를 가지고 for 문 , for in 문 forEach 메서드등 다양한 방법으로 순회할 수 있었습니다. ES6에서는 순회 가능한 데이터 컬렉션을 이터레이션 프로토콜을 준수하는 이터러블로 통일하여 for...of문 , 스프레드문법, 배열 distructuring 할당의 대상으로 사용할 수 있도록 일원화 했습니다. - 이터러블 프로토콜 : Symbol.iterator를 프로퍼티 키로 사용한 메서드를 직접 구현하거나 프로토타입 체인을 통해 상속.. [Modern JavaScript Deep Dive] closure 클로저는 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어 (예: 하스켈, 리스프, 얼랭, 스칼라등)에서 사용되는 중요한 특성이다. 클로저는 자바스크립트 고유의 개념이 아니므로 글로저의 정의가 ECMAScript 사양에 등장하지 않는다. MDN 에서는 클로저를 다음과 같이 정의한다. A closure is the combination of a function and the lexical enviroment within which that function was delared. 클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다. const x = 1; function outerFunc() { const x = 10; function innerFunc() { console.log(x); // 10.. [2022 KAKAO BLIND RECRUITMENT] 신고 결과 받기 ⭐️ 신고 결과 받기 📝 설계 우선 문제를 꼼꼼히 읽어야 겠다는 생각을 했습니다.. 가장 큰 제약 조건은 신고한 사람이 같은 사람을 또 신고했을 때, 신고 횟수는 늘어나지 않는다는 것입니다. 또, 문제에서 매개변수로 준 id_list, report, k라는 조건을 모두 활용하려고 노력했습니다. 제 풀이는 defaultdict을 이용했는데 이때 신고횟수를 세는 딕셔너리 한개와 누가 누구를 신고했는지 기록하는 딕셔너리 한개를 만들었습니다. 그리고, 누가 누구를 신고하고 신고횟수를 카운팅해주었는데, 예를들어 a가 b를 신고했을 때 b가 a의 신고 리스트에 들어있다면 신고 횟수를 늘리지 않았습니다. 그리고 그 두개의 딕셔너리에 대해 2중 for문을 돌면서, 탐색을 진행했습니다. 신고 횟수가 k 이상인 사람에 대.. 이전 1 다음