자바스크립트 객체 사용해 다양한 값과 빈도를 수집할 쓰이는 패턴 여러 데이터와 입력값이 서로 비슷한 값으로 구성되어 있는지 값이 다른 값에 포함되는지 여부를 비교할 때 등이러한 접근법은 O(N^2), 제곱시간이 사용되어 순진한 접근법으로 가능한 않는게 좋다loop를 두
지도 서비스 역시 경로 검색 알고리즘을 사용한다 지도 서비스를 이용하면 출발지에서 목적지까지의 경로를 바로 알아볼 수 있지만 서비스의 따라서 같은 조건으로 검색해도 경로가 다른 것을 알려주는데 이는 서비스 마다 경로 검색 알고리즘이 다르기 때문이다. 1. 사람에겐 쉽고 기계는 어려운 '경로 알고리즘' 경로 검색이란 출발 지점에서 도착 지점에 도달하기 까...
다차원 배열은 set 형태로 만들어도 그대로이므로 문자열 형태의 1차원 배열로 만든 다음 set으로 만들어서 중복을 제거하고 다시 2차원 배열의 형태로 돌리기
1. 검색 알고리즘 일상에 있는 다양한 알고리즘 중 대표적인 것 중 하나 처리 속도와 하드웨어의 관계 입력받은 데이터를 알고리즘에 따라 유익한 정보로 변화 및 출력하는 것을 데이터 프로세싱이라하는데 컴퓨터가 프로그램으로 구현된 알고리즘에 따라 데이터를 처리하는 데이터 프로세싱 머신이다. 알고리즘의 유한성을 만족하려면 효율적인 알고리즘 만들거나 하드웨어의 ...
하노이의 탑으로 알고리즘을 생각 원반 3장을 최단 경로로 옮기는 알고리즘 생각 알고리즘이 만족해야하는 조건 1) 범용성, 정당성, 결정성 범용성은 작업자와 상관없이 어떤 환경에서도 같은 결과를 내어야 올바른 알고리즘 정당성은 주어진 과제에 대해 올바른 결과, 출력을 얻을 수 있어야 올바른 알고리즘 같은 입력 시 반드시 같은 결과가 나와야 올바른 알고리즘...
함수형 프로그래밍은 가능한 한 가지 의미있는 작업을 하는 순수 함수를 만들고 이 함수들을 조합해서 더 큰 프로그램을 만든다. 함수의 재사용성과 합성을 용이하기 위해 함수는 여러가지 일이 아닌 하나의 일만 제대로 처리하는 것이 중요 페이지 기능 단위 쪼개기 아이템 목록 화면 그리기 재고 있는 경우 없는 경우 전체 수량 표시 전체 가격 표시 상품을 상태...
고차함수 하나 이상의 함수를 인자로 취하거나 함수를 반환한다 map >- array의 map함수는 배열에 있는 요소들의 동일한 함수를 적용한 후 그 결과를 돌려주는 함수 실제 map 함수 구현 방식 제네릭으로 작성, 인자로 배열과 함수를 받으며 함수는 배열의 원소를 받아 새로운 값을 담은 배열을 리턴 함수의 타입 다시보기 >- 명령형의 경우 값이 반환...
알고리즘 정의 간단히 말해 문제를 풀기위한 절차 알고리즘과 프로그램의 차이 알고리즘은 프로그램보다 더 추상적인 개념 알고리즘은 문제 해결을 위한 작업 절차 자체로 그 절차를 실행하는 수단은 언급 안함 실제로 문제를 풀기 위해 어떤 수단으로 알고리즘을 실행해야하는데
Array에 대해 여러개의 값을 담을 수 있는 배열, 단 타입스크립에선 임의의 타입 값 배열 지정 안되며 Array 타입의 매개변수에 지정한 타입만 값으로 지정 Array와 List >- 몇개인이 결정할 수 없는 비결정성은 공통이나 Array는 인덱스로 임의 접근 시 최적화되어있고 List는 순차적, 재귀적 구조를 지려 원소들에 대한 순차 처리에 최적화 ...
제네릭 함수의 타입을 지정 시 비슷한 타입이 중복될 때 타입에 대한 이러한 중복을 쉽게 다룰 수 있는 도구 함수의 타입을 일반화 시켜, 제네릭으로 타입을 만들고 그 타입에 따라 함수를 만들기 제네릭은 클래스나 인터페이스에서도 쓰임 컴포즈 함수 만들어보기
함수 합성 여러개의 함수를 하나의 함수로 만들기 함수는 여러개 정의역(입력값)과 공역(출력값)이 일치만 한다면 여러개로 합성 가능
커링 함수와 인자를 다루는 기법으로 함수에 인자를 하나씩 적용해나가다가 필요한 인자가 모두 채워지면 본체를 실행하는 기법 자바스크립트 커링 지원 X 일급 함수가 지원, 평가시점 맘대로 다룰 수 있어 커링 기법 구현 가능 본체함수인 함수를 값으로 들고 있다가 원하는 시점까지 미뤘다가 최종적으로 평가하는 기법 왼쪽부터 오른쪽으로 인자를 적용하는 것을 cu...
each 리스트 순회하는 함수로 for 문 돌면서 내부에서 하는 일 위임하여 중복 제거 가능 >- map, each, filter는 이미 자바스크립트에 존재하는데 이는 함수가 아닌 메서드로서 존재하기에 해당하는 클래스에 준비되어있지 않은 메서드는 사용할 수 없다. 특히 위 메서드는 오직 array에만 적용되며 arraylike(=NodeList, 배열이 ...