Front-end(170)
-
[자료구조] 집합
집합(Set 클래스) 개념 집합이란 정렬되지 않은 컬렉션 원소는 반복되지 않음(중복되는 원소가 없음) 수학에 나오는 유한 집합의 개념을 컴퓨터 과학에 적용한 것 수학 시간에 배웠던 집합 집합 - 유일하게 구분되는 원소의 모임 원소는 중괄호 { }로 둘러싼다 예) 자연수의 집합은 1보다 같거나 큰 정수로 구성된다. ( N = {1,2,3,4,5,6,...} ) 공집합 (널집합) - 원솨 하나도 없는 집합 예) 24와 29 사이의 소수의 집합은 공집합임(24와 29 중에는 소수가 없기 때문, 소수: 1과 자기 자신만으로 나누어 떨어지는 1보다 큰 자연수) 공집합은 {} 으로 표시 **즉, 집합은 정렬 개념이 없는 원소가 중복되지 않는 배열이라고 볼 수 있음 집합 만들기(Set 객체의 생성) 자바스크립트에는 ..
2021.03.03 -
[자료구조] 연결 리스트 - (2) doubly linked list
연결 리스트 - (2) doubly linked list 이중 연결 리스트 단순 연결 리스트(single linked list)는 다음 노드의 연결 정보만 가지고 있었다면 이중 연결 리스트(doubly linked list)는 다음 노드와 이전 노드, 2개의 연결 정보를 가지고 있음 장점 이중 연결 리스트에서는 처음에서 끝/끝에서 처음, 양방향으로 리스트 순회가 가능 한 방향으로만 링크된 단순 연결 리스트는 순회 시 원소를 찾지 못하면 다시 맨 처음으로 돌아가야 했었으므로 이런 점이 이중 연결 리스트의 장점이라고 할 수 있음 단점 메모리를 더 많이 사용한다 좀 더 복잡하다 단순 연결 리스트와 비교해서 이중 연결 리스트에 추가해야 할 부분 class Node2{ constructor(element){ th..
2021.03.03 -
[자료구조] 연결 리스트 - (1) Single Linked List
연결 리스트 배열(일종의 리스트) 장점: 구현하기가 쉽고 사용하기 편하다. 배열의 원소에 접근하려면 대괄호에 인덱스만 넣어주면 된다. 단점 크기가 고정되어 있다 배열의 처음이나 중간에서 원소를 추가/삭제 하려면 다른 원소까지 옮겨야 하므로 번거롭다 연결리스트(Linked List) 연결리스트는 일련의 원소를 배열처럼 차례대로 저장하지만 원소들이 메모리상에 연속적으로 위치하지 않는다 각 원소는 원소 자신과 다음 원소를 가리키는 참조 정보(포인터,링크 라고도함)가 포함된 노드로 구성된다 장점: 원소 추가 삭제 시 다른 원소들을 이동하지 않아도 된다(포인터 덕분) 단점: 배열은 특정 원소에 인덱스로 바로 접근할 수 있는 반면 연결 리스트에서는 원소를 찾을 때까지 처음(헤드,head)부터 루프를 반복해야함 연결..
2021.03.02 -
[프로그래머스] 두 수 뽑아서 더하기
두 수 뽑아서 더하기 문제 출처: 프로그래머스 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 입출력 예 설명 입출력 예 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 = 1 + 4 = 2 + 3 입니다. ..
2021.02.25 -
[프로그래머스] 크레인 인형 뽑기 게임
크레인 인형뽑기 게임 문제 출처 : 프로그래머스 문제 설명 게임개발자인 죠르디는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. 죠르디는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 5 x 5 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은..
2021.02.25 -
재귀함수
재귀 함수 재귀 함수(Recursive Function)란 자기 자신을 다시 호출하는 함수를 의미함 단순한 형태의 재귀 함수 예제 '재귀 함수를 호출합니다.'라는 문자열을 무한히 출력 어느정도 출력하다가 최대 재귀 깊이 초과 메시지가 출력됨 function recursive(){ console.log('재귀 함수를 호출합니다.'); recursive(); } recursive(); 재귀 함수의 종료 조건 재귀 함수를 문제 풀이에서 사용할 때는 재귀 함수의 종료 조건을 반드시 명시해야 함. 종료 조건을 제대로 명시하지 않으면 함수가 무한히 호출될 수 있음. 팩토리얼 구현 예제 n! = 1 X 2 X 3 X ... X (n-1) X n 수학적으로 0!과 1!의 값은 1임. 내가 구현한 코드(자바스크립트) f..
2021.02.24