본문 바로가기

전체 글38

[알고리즘] 스택, 큐 스택(stack) 스택 알고리즘은 데이터를 임시저장할 때 사용하는 자료구조로 후입선출(FILO) 방식이다. 대표적으로 콜스택(call stack)이 존재 큐(queue) 큐 알고리즘은 데이터를 일시적으로 쌓아놓은 자료구조이다. 스택과는 다르게 선입선출(FIFO,LILO)의 구조이다. 2022. 10. 7.
Ch.5 표현식과 문 값 값은 표현식이 평가되어 생성된 결과를 말한다. 모든 값은 데이터타입을 가지며 메모리에 2진수, 즉 bit의 나열로 저장된다. 리터럴 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다. 자바스크립트에서 3은 단순히 아라비아 숫자 3이 아닌 숫자 리터럴이다. 리터럴 표기법으로 다양한 종류의 데이터타입의 값을 생성할 수 있다. 표현식 표현식은 값으로 평가될 수 있는 문이다. var score = 100; 위에 코드의 리터럴은 100이며 그 자체로 표현식이다. var score = 50+50; 위처럼 리터럴과 연산자로 이루어져도 50+50이 평가되어 값 100이 생성되므로 표현식이다 score; // -> 100 변수를 참조하면서 변수 값으로 평가되므로 표현식이다.. 2022. 10. 6.
[알고리즘] 투 포인터, 슬라이딩 윈도우, 해쉬 알고리즘 투포인터(Two Pointer) 투포인터 알고리즘은 두개의 점 위치를 기록하면서 처리하는 알고리즘이다 슬라이딩 윈도우(Sliding Window) 슬라이딩 윈도우 알고리즘은 일정한 범위를 유지하며 이동하는 알고리즘이다 해쉬(Hash) 해쉬 알고리즘은 Key-Value 형태로 데이터를 저장하여 검색과 저장에 용이하다 JS에서는 Map() 메서드를 주로 사용한다. 2022. 10. 6.
Ch.4 변수 변수의 정의 컴퓨터는 CPU를 사용하여 연산하고 메모리를 사용해 데이터를 기억한다. 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체이며 셀 하나의 크기는 1byte(8bit)이고 각 셀은 고유의 메모리 주소를 갖는다. 연산한 값을 재사용하고 싶다면 메모리 주소를 통해 직접 접근해야하지만 이는 치명적 오류를 발생시킬 수 있으므로 자바스크립트는 개발자의 직접적인 메모리 제어를 허용하지 않는다. 이를 위해서 값을 재사용하기 위한 메커니즘으로 변수가 제공된다. 한마디로 값의 위치를 가리키는 상징적인 이름이다. 변수에 값을 저장하는 것을 할당이라고 하고 읽어 들이는 것을 참조(reference)라고 한다. 변수 선언이란 변수를 생성하는 것을 말한다. 값을 저장하기 위한 메모리 공간을 확보하고 변수 이름과 연.. 2022. 10. 6.