프론트엔드 공부
-
class BinarySearchTree { constructor(value) { // constructor로 만든 객체는 이진 탐색 트리의 Node가 됩니다. this.value = value; this.left = null; this.right = null; } // 이진 탐색 트리의 삽입하는 메서드를 만듭니다. insert(value) { // 입력값을 기준으로, 현재 노드의 값보다 크거나 작은 것에 대한 조건문이 있어야 합니다. // 보다 작다면, Node의 왼쪽이 비어 있는지 확인 후 값을 넣습니다. if (value < this.value) { if (this.left === null) { this.left = this.left = new BinarySearchTree(value); } els..
[Binary Search Tree] 구현class BinarySearchTree { constructor(value) { // constructor로 만든 객체는 이진 탐색 트리의 Node가 됩니다. this.value = value; this.left = null; this.right = null; } // 이진 탐색 트리의 삽입하는 메서드를 만듭니다. insert(value) { // 입력값을 기준으로, 현재 노드의 값보다 크거나 작은 것에 대한 조건문이 있어야 합니다. // 보다 작다면, Node의 왼쪽이 비어 있는지 확인 후 값을 넣습니다. if (value < this.value) { if (this.left === null) { this.left = this.left = new BinarySearchTree(value); } els..
2023.03.15 -
Queue의 정의 큐(Queue)는 줄을 서서 기다리다, 대기행렬이라는 뜻을 가지고 있으며 데이터를 일시적으로 저장하기 위한 자료구조 중 하나입니다. 먼저 들어온 데이터가 먼저 처리되는 "FIFO(First In First Out)" 방식으로 동작합니다. 큐는 크게 두 가지 요소로 구성됩니다. 하나는 front, 또 다른 하나는 rear입니다. front는 큐의 맨 앞을 가리키며, rear는 큐의 맨 뒤를 가리킵니다. 큐에서는 데이터 삽입하는 enqueue(인큐)와 데이터를 삭제하는 dequeue(디큐) 두 가지 기본 연산을 지원합니다. 새로운 데이터는 큐의 맨 뒤(rear)에 삽입되며, 기존 데이터는 큐의 맨 앞(front)에서 제거됩니다. 이때 front와 rear가 가리키는 위치는 계속해서 바뀌게 ..
[자료구조] QueueQueue의 정의 큐(Queue)는 줄을 서서 기다리다, 대기행렬이라는 뜻을 가지고 있으며 데이터를 일시적으로 저장하기 위한 자료구조 중 하나입니다. 먼저 들어온 데이터가 먼저 처리되는 "FIFO(First In First Out)" 방식으로 동작합니다. 큐는 크게 두 가지 요소로 구성됩니다. 하나는 front, 또 다른 하나는 rear입니다. front는 큐의 맨 앞을 가리키며, rear는 큐의 맨 뒤를 가리킵니다. 큐에서는 데이터 삽입하는 enqueue(인큐)와 데이터를 삭제하는 dequeue(디큐) 두 가지 기본 연산을 지원합니다. 새로운 데이터는 큐의 맨 뒤(rear)에 삽입되며, 기존 데이터는 큐의 맨 앞(front)에서 제거됩니다. 이때 front와 rear가 가리키는 위치는 계속해서 바뀌게 ..
2023.03.14 -
스택이란 무엇일까? 스택은 기본적으로 박스 쌓기와 비슷합니다. 맨 위에 있는 상자만 접근할 수 있습니다. 그래서 스택에서 데이터를 추가하거나 제거할 때, 항상 맨 위의 상자를 조작합니다. 이렇게 상자를 쌓아 올리는 것을 "푸시(push)"라고 부르며, 맨 위의 상자를 빼내는 것을 "팝(pop)"이라고 부릅니다. 스택은 일상 생활에서도 자주 사용됩니다. 예를 들어, 접시를 쌓아 놓은 것을 생각해 본다면 가장 마지막에 쌓은 접시를 먼저 꺼내게 됩니다. 이렇게 쌓여있는 접시들은 스택과 유사한 구조를 가지고 있습니다. 접시를 쌓으려면, 처음에는 바닥에 하나의 접시를 놓습니다. 그런 다음 다음 접시를 가져와 첫 번째 접시 위에 올립니다. 이렇게 쌓기를 반복하면 스택이 형성됩니다. 여기서 스택은 먼저 쌓인 접시가 ..
[자료구조] stack스택이란 무엇일까? 스택은 기본적으로 박스 쌓기와 비슷합니다. 맨 위에 있는 상자만 접근할 수 있습니다. 그래서 스택에서 데이터를 추가하거나 제거할 때, 항상 맨 위의 상자를 조작합니다. 이렇게 상자를 쌓아 올리는 것을 "푸시(push)"라고 부르며, 맨 위의 상자를 빼내는 것을 "팝(pop)"이라고 부릅니다. 스택은 일상 생활에서도 자주 사용됩니다. 예를 들어, 접시를 쌓아 놓은 것을 생각해 본다면 가장 마지막에 쌓은 접시를 먼저 꺼내게 됩니다. 이렇게 쌓여있는 접시들은 스택과 유사한 구조를 가지고 있습니다. 접시를 쌓으려면, 처음에는 바닥에 하나의 접시를 놓습니다. 그런 다음 다음 접시를 가져와 첫 번째 접시 위에 올립니다. 이렇게 쌓기를 반복하면 스택이 형성됩니다. 여기서 스택은 먼저 쌓인 접시가 ..
2023.03.14 -
자료구조란 무엇일까요? 개발에서의 자료구조란 컴퓨터 프로그램이나 소프트웨어 어플리케이션에서 데이터를 조직화하고 저장하는 방식을 의미합니다. 데이터를 효율적이고 최적화된 방법으로 접근하고 조작하는 체계적인 방법을 제공합니다. 대표적인 데이터 구조로는 배열, 연결 리스트, 스택, 큐, 트리, 그리고 그래프 등이 있습니다. 데이터란? 컴퓨터 프로그램이나 소프트웨어 어플리케이션이 처리하거나 분석할 수 있는 사실, 숫자, 또는 다른 정보의 집합을 의미합니다. 텍스트, 이미지, 오디오, 비디오 또는 구조화된 데이터와 같이 쉬운 접근과 조작을 위해 특정 형식으로 구성된 다양한 형태를 가질 수 있습니다. 자주 등장하는 네 가지의 자료구조는 Stack, Queue, Tree, Graph 선형 자료 구조(Linear Da..
자료구조란 무엇일까요?자료구조란 무엇일까요? 개발에서의 자료구조란 컴퓨터 프로그램이나 소프트웨어 어플리케이션에서 데이터를 조직화하고 저장하는 방식을 의미합니다. 데이터를 효율적이고 최적화된 방법으로 접근하고 조작하는 체계적인 방법을 제공합니다. 대표적인 데이터 구조로는 배열, 연결 리스트, 스택, 큐, 트리, 그리고 그래프 등이 있습니다. 데이터란? 컴퓨터 프로그램이나 소프트웨어 어플리케이션이 처리하거나 분석할 수 있는 사실, 숫자, 또는 다른 정보의 집합을 의미합니다. 텍스트, 이미지, 오디오, 비디오 또는 구조화된 데이터와 같이 쉬운 접근과 조작을 위해 특정 형식으로 구성된 다양한 형태를 가질 수 있습니다. 자주 등장하는 네 가지의 자료구조는 Stack, Queue, Tree, Graph 선형 자료 구조(Linear Da..
2023.03.14 -
박스 포장 문제 마트에서 장을 보고 박스를 포장하려고 합니다. 박스를 포장하는 데는 폭이 너무 좁습니다. 그렇기에 한 줄로 서 있어야 하고, 들어온 순서대로 한 명씩 나가야 합니다. 불행 중 다행은, 인원에 맞게 포장할 수 있는 기구들이 놓여 있어, 모두가 포장을 할 수 있다는 것입니다. 짐이 많은 사람은 짐이 적은 사람보다 포장하는 시간이 길 수밖에 없습니다. 뒷사람이 포장을 전부 끝냈어도 앞사람이 끝내지 못하면 기다려야 합니다. 앞사람이 포장을 끝내면, 포장을 마친 뒷사람들과 함께 한 번에 나가게 됩니다. 만약, 앞사람의 박스는 5 개고, 뒷사람 1의 박스는 4 개, 뒷사람 2의 박스는 8 개라고 가정했을 때, 뒷사람 1이 제일 먼저 박스 포장을 끝내게 되어도 앞사람 1의 포장이 마칠 때까지 기다렸다..
[Queue] 박스 포장박스 포장 문제 마트에서 장을 보고 박스를 포장하려고 합니다. 박스를 포장하는 데는 폭이 너무 좁습니다. 그렇기에 한 줄로 서 있어야 하고, 들어온 순서대로 한 명씩 나가야 합니다. 불행 중 다행은, 인원에 맞게 포장할 수 있는 기구들이 놓여 있어, 모두가 포장을 할 수 있다는 것입니다. 짐이 많은 사람은 짐이 적은 사람보다 포장하는 시간이 길 수밖에 없습니다. 뒷사람이 포장을 전부 끝냈어도 앞사람이 끝내지 못하면 기다려야 합니다. 앞사람이 포장을 끝내면, 포장을 마친 뒷사람들과 함께 한 번에 나가게 됩니다. 만약, 앞사람의 박스는 5 개고, 뒷사람 1의 박스는 4 개, 뒷사람 2의 박스는 8 개라고 가정했을 때, 뒷사람 1이 제일 먼저 박스 포장을 끝내게 되어도 앞사람 1의 포장이 마칠 때까지 기다렸다..
2023.03.14 -
유효한 괄호쌍 문제 입력된 괄호 값들이 모두 쌍이 맞게 올바른지를 판단해 모두 쌍이 맞으면 true 그렇지 않으면 false를 출력하세요. 입력된 괄호 값들이 유효한 경우들은 다음에 해당합니다. 열린 괄호는 같은 타입의 닫힌 괄호로 닫혀있어야 한다. 열린 괄호는 올바른 순서대로 닫혀야만 한다. 모든 닫힌 괄호는 그에 상응하는 같은 타입의 열린 괄호를 갖고 있다. 입력값을 통해 들어오는 괄호는 ()[]{}로만 이루어져 있습니다. 입력 인자 1 : str string 타입으로 된 문장 출력 boolean 타입을 리턴해야 합니다. 주의 사항 입력값을 통해 들어오는 괄호는 ()[]{}로만 이루어져 있습니다. 입력값으로 들어오는 str의 길이는 0부터 10^4승 까지 입니다. 입출력 예시 const result1..
[Stack] 유효한 괄호쌍유효한 괄호쌍 문제 입력된 괄호 값들이 모두 쌍이 맞게 올바른지를 판단해 모두 쌍이 맞으면 true 그렇지 않으면 false를 출력하세요. 입력된 괄호 값들이 유효한 경우들은 다음에 해당합니다. 열린 괄호는 같은 타입의 닫힌 괄호로 닫혀있어야 한다. 열린 괄호는 올바른 순서대로 닫혀야만 한다. 모든 닫힌 괄호는 그에 상응하는 같은 타입의 열린 괄호를 갖고 있다. 입력값을 통해 들어오는 괄호는 ()[]{}로만 이루어져 있습니다. 입력 인자 1 : str string 타입으로 된 문장 출력 boolean 타입을 리턴해야 합니다. 주의 사항 입력값을 통해 들어오는 괄호는 ()[]{}로만 이루어져 있습니다. 입력값으로 들어오는 str의 길이는 0부터 10^4승 까지 입니다. 입출력 예시 const result1..
2023.03.14 -
보호되어 있는 글입니다.
길이가 m, n이고 오름차순으로 정렬되어 있는 자연수 배열들을 입력받아 전체 요소 중 k번째 요소를 리턴해야 합니다.보호되어 있는 글입니다.
2023.03.14 -
OAuth 이란? OAuth(Open Authorization)는 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 권한을 위임(Delegated Authorization)을 위한 개방형 표준 프로토콜이다. OAuth 2.0은 승인을 위한 업계 표준 프로토콜이다. OAuth 2.0은 웹 애플리케이션, 데스크톱 애플리케이션, 기타 장치에 대한 특정 인증 권한을 제공하면서 클라이언트 개발자 작업을 단순화시켜준다. OAuth는 인증 정보를 제공하는 웹사이트(서비스 제공자)와 이 정보를 이용하려는 웹사이트나 앱(클라이언트) 사이의 인증을 관리한다. 클라이언트는 사용자 인증 정보를 직접 수집하지 않..
OAuth이란?OAuth 이란? OAuth(Open Authorization)는 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 권한을 위임(Delegated Authorization)을 위한 개방형 표준 프로토콜이다. OAuth 2.0은 승인을 위한 업계 표준 프로토콜이다. OAuth 2.0은 웹 애플리케이션, 데스크톱 애플리케이션, 기타 장치에 대한 특정 인증 권한을 제공하면서 클라이언트 개발자 작업을 단순화시켜준다. OAuth는 인증 정보를 제공하는 웹사이트(서비스 제공자)와 이 정보를 이용하려는 웹사이트나 앱(클라이언트) 사이의 인증을 관리한다. 클라이언트는 사용자 인증 정보를 직접 수집하지 않..
2023.03.09