해시(Hash)

해시는 데이터를 다루는 기법 중의 하나로, key-value 형태로 데이터가 존재하고, key 값이 배열의 인덱스로 저장되기 때문에 검색과 저장이 빠르게 일어나게 된다. 특정 데이터가 저장되는 인덱스가 그 데이터만의 고유한 위치이기 때문에 삽입 시 다른 데이터의 사이에

2022년 12월 19일
·
0개의 댓글
·
post-thumbnail

[프로그래머스] 타겟 넘버 (javascript)

2022년 12월 15일
·
0개의 댓글
·

[2022.12.14] 자료구조(Data Structure)

여러 데이터의 묶음을 저장하고 사용하는 방법을 정의한 것을 말한다. 데이터는 문자, 소리, 숫자, 그림 등 실생활을 구성하고 있는 모든 값으로, 분석하고 정리해서 활용하지 않으면 무의미하다. 데이터를 정리할 때는 데이터의 특징을 잘 파악해서 체계적으로 정리한 후에 저장

2022년 12월 14일
·
0개의 댓글
·

BFS와 DFS

BFS와 DFS는 트리나 그래프 등의 비선형 구조를 무차별 탐색할 때 사용한다. 여기서 무차별 탐색이란 가능한 경우의 수를 전부 시도한다는 의미이다. 거리, 지도 탐색 등에 많이 사용된다. BFS는 넓이 우선 검색으로, 같은 depth를 모두 확인한 후에 내려가서 다시

2022년 12월 13일
·
0개의 댓글
·
post-thumbnail

힙 정렬 (Heap Sort)

힙은 완전 이진 트리의 일종으로 최댓값, 최솟값을 쉽게 추출할 수 있고, 중복값을 허용한다는 특징을 가진다. 힙 정렬을 이해하기 위해서는 먼저 이진 트리와 완전 이진 트리에 대해 알아야 한다. 컴퓨터가 데이터를 표현할 때 데이터를 각 노드에 담은 뒤 노드를 두 개씩 이

2022년 12월 7일
·
0개의 댓글
·

퀵 정렬(Quick Sort)

기준값(pivot)을 선정해 해당 값보다 작은 데이터와 큰 데이터로 분류하는 것을 반복해 정렬하는 알고리즘이다. 데이터를 분할하는 pivot을 설정한다. 이 경우 pivot의 위치는 임의로 설정해도 된다.pivot을 기준으로 데이터를 2개의 집합으로 분리한다.이때 pi

2022년 12월 6일
·
0개의 댓글
·

합병 정렬(merge sort)

분할 정복 방식을 사용해 데이터를 분할하고, 분할한 배열을 정렬하며 합치는 알고리즘 분할 정복법(Divide and Conquer)? 주어진 문제를 작은 사례로 나누고(Divide), 각각의 문제들을 해결해서 정복(Conquer)하는 방법이다. 이때 작은 사례가 문제를

2022년 12월 6일
·
0개의 댓글
·

[React] 카드 슬라이더 만들기(1)

저번 주와 마찬가지로 javascript로 만들어진 카드 슬라이더를 리액트로 클론해보는 연습을 했다. 참고 https://wsss.tistory.com/1582Swiper API https://swiperjs.com/react우선 Swiper라는 라

2022년 12월 3일
·
0개의 댓글
·

버블 정렬(bubble sort)

버블 정렬은 두 인접한 데이터의 크기를 비교해 정렬하는 방법이다.버블 정렬 과정1\. 비교 연산이 필요한 루프 범위 설정2\. 인접한 데이터 값을 비교3\. swap 조건에 부합하면 swap4\. 반복문이 끝날 때까지 2~3번 반복5\. 정렬 영역을 설정한다. 다음 루

2022년 11월 30일
·
0개의 댓글
·

삽입 정렬(Insertion Sort)

삽입 정렬은 이미 정렬된 데이터 범위에 아직 정렬이 안 된 데이터를 적절한 위치에 삽입시켜 정렬하는 알고리즘이다.삽입 정렬은 시간 복잡도가 O(n^2)이지만 구현이 쉽다. 삽입 정렬의 과정1\. 현재 인덱스에 있는 데이터를 선택2\. 현재 선택한 데이터가 정렬된 데이터

2022년 11월 30일
·
0개의 댓글
·

선택 정렬(selection sort)

대상 데이터에서 최솟값 (혹은 최댓값)을 찾고, 남은 정렬의 가장 앞에 있는 데이터와 교환하는 알고리즘을 가진 정렬이다. 선택 정렬은 구현 방법이 복잡하고, 시간 복잡도도 O(n^2)로 비효율적이기 때문에 자주 사용하지는 않는다. 선택 정렬의 과정은 다음과 같다. 1\

2022년 11월 29일
·
0개의 댓글
·

[2022.11.26] ::before, ::after

선택한 요소 앞에 가상 콘텐츠 삽입선택한 요소 뒤에 가상 콘텐츠 삽입before와 after를 쓸 때 같이 사용하는 익명 대체 요소로, HTML에는 존재하지 않고 CSS에만 존재하는 가짜 요소이다. 따라서 javascript로 제어하기는 어렵다.

2022년 11월 26일
·
0개의 댓글
·

[React] sidebar 만들기

참고https://wsss.tistory.com/124메뉴 버튼을 클릭하면 버튼 모양이 X로 바뀌고 왼쪽에서 메뉴가 튕겨져 나오는 사이드바를 클론해보았다. HTML, CSS, JS로 구현되어 있는 코드를 React와 styled-component로 바꾸면서 B

2022년 11월 26일
·
0개의 댓글
·

[프로그래머스] 올바른 괄호 (javascript)

주어진 문자열이 올바른 괄호로 이루어져있는지 여부를 리턴올바른 괄호란?열림 괄호('(')가 없이 닫힌 괄호(')')가 나오면 올바르지 않은 괄호열린 괄호는 반드시 짝지어서 닫혀야 함문자열 s의 길이 : 100,000 이하의 자연수문자열 s는 '(' 또는 ')' 로만 이

2022년 11월 24일
·
0개의 댓글
·

[프로그래머스] 같은 숫자는 싫어 (javascript)

주어진 배열에서 연속으로 나오는 숫자를 하나만 남기고 제거하고 남은 수들을 리턴하는 함수 만들기배열 arr의 크기 : 1,000,000 이하의 자연수배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다 작거나 같은 정수빈 배열을 선언해준다.주어진 배열을 순회하면서

2022년 11월 24일
·
0개의 댓글
·
post-thumbnail

Stack과 Queue

입력과 출력이 하나의 방향에서 일어나는 후입선출(LIFO)로 이루어지는 자료구조를 말한다. 즉 가장 최근에 넣은 데이터가 가장 먼저 나온다. Stack에 데이터를 넣는 것을 PUSH, 데이터를 꺼내는 것을 POP이라고 한다.데이터는 하나씩만 넣고 뺄 수 있다.https

2022년 11월 22일
·
0개의 댓글
·
post-thumbnail

시간복잡도(Time Complexity)

알고리즘의 실행 시간을 표현하는 것을 말한다. 여기서 실행 시간이란 통상적으로 쓰이는 시분초 개념이 아니라, 함수나 알고리즘 수행에 필요한 스텝 수를 의미한다. (실행 환경마다 성능이 다르기 때문에 시간을 초(seconds)나 밀리초(milliseconds)로 표현하면

2022년 11월 22일
·
0개의 댓글
·
post-thumbnail

[2022.11.21] 브라우저의 렌더링 과정

주소 표시줄, 이전/다음 버튼, 북마크 메뉴 등 요청한 페이지를 보여주는 창을 제외한 나머지 모든 부분사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어요청한 콘텐츠를 표시. HTML, CSS 등을 파싱하여 화면에 그려준다.보통 브라우저 엔진과 하나로 본다자바스크립트

2022년 11월 21일
·
0개의 댓글
·
post-thumbnail

[2022.10.27] 프로퍼티 어트리뷰트

자바스크립트 엔진의 내부 로직으로, 이중 대괄호(\[\[ ]])로 감싼 것들을 말한다. 보통은 접근이 불가능하다. 하지만 일부의 내부 슬롯과 메서드들은 간접적으로 접근할 수 있다.예를 들어, \[\[Prototype]] 내부 슬롯의 경우, \_\_proto\_\_로 접

2022년 10월 26일
·
0개의 댓글
·

[2022.10.26] 함수(2) - 함수의 호출

함수를 가리키는 식별자 (인수1, 인수2)의 형태로 함수를 호출 할 수 있다. 함수가 호출된다.함수 몸체 내에서 매개변수가 생성되고 undefined로 초기화된다.매개변수에 인수가 순서대로 할당된다. 인수는 값으로 평가될 수 있는 표현식이어야 한다. 인수가 부족하면

2022년 10월 25일
·
0개의 댓글
·