이진탐색
탐색 컴퓨터 과학에서 탐색이란 여러 개의 원소로 구성된 데이터가 주어졌을 때, 그중에서 원하는 값을 갖는 원소를 찾는 것을 말한다. 데이터의 형태는 리스트, 트리, 그래프 등 다양한 형태가 가능하다. 이진 탐색 이진 탐색, 또는 이분 탐색이란 정렬된 형태로 주어진 원소에 대해 탐색 대상의 크기를 절반씩 줄여 가면서 탐색 키를 가진 원소를 찾는 방...
탐색 컴퓨터 과학에서 탐색이란 여러 개의 원소로 구성된 데이터가 주어졌을 때, 그중에서 원하는 값을 갖는 원소를 찾는 것을 말한다. 데이터의 형태는 리스트, 트리, 그래프 등 다양한 형태가 가능하다. 이진 탐색 이진 탐색, 또는 이분 탐색이란 정렬된 형태로 주어진 원소에 대해 탐색 대상의 크기를 절반씩 줄여 가면서 탐색 키를 가진 원소를 찾는 방...
문제 설명 문제 링크 문제를 살펴보면 제목이 제시하듯 버블 소트 코드가 주어지고, 출력되는 것은 for문이 실행된 횟수이다. 이에 따라 버블정렬 코드를 아래와 같이 작성해보았으나, 시간 초과가 떴다… 코드 import sys input = sys.stdin.readline def bubbleSort(arr, start): for ...
정의 여러 개의 프로세스가 서로 상대방의 작업이 끝나기만 기다리고 있어 어느 쪽도 영원히 진행하지 못하는 상태 교착상태와 기아상태의 차이 교착상태 영원히 멈춰있다 기아상태 언젠가는 시행될 가능성이 있다 교착상태의 특성 필요조건 상호배제 점유대기 비선점 환형대기 (순환대기) 네 가지 조건이 ...
생산자-소비자 문제 정의 두 협력 프로세스 사이에 버퍼를 두고 생산자와 소비자의 상황을 다루는 문제 생산자: 데이터를 넣는 프로세스 소비자: 데이터를 꺼내는 프로세스 조건 버퍼에 여러 프로세스에 동시에 접근할 수 없음 버퍼에 데이터를 넣는 동안에는 데이터를 꺼낼 수 없다. 버퍼에서 데이터를 ...
Swagger 일반적으로 개발을 할 떄 프론트엔드 개발자와 백엔드 개발자가 협업하는 방식으로 진행되는데, 클라이언트와 서버 사이에서 어떤 방식으로 데이터를 상호 전달할지에 대한 명세가 필요하다. 스웨거(Swagger)는 이럴 때 API 기능을 명세하고 바로 테스트 할 수 있도록 도와주는 대표적인 API 관리 도구이다. 이러
Figma 피그마라는 툴을 처음 사용해봤는데, 다행히 기존에 써봤던 포토샵과 유사한 점이 많아 적응하는 데 어렵지 않았다. 물론 디자이너가 아니기 떄문에 다른 사람이 봤을 때는 아쉬울 수도 있겠지만, 개인적으로 만족스럽게 나왔다! UI/UX를 하는 내 친구는 ‘개발자가 만든 것 처럼 생겼다’라고 평가했다.. 아무래도 우리 팀 내에서 이런 방면으로는 ...
Atlas MongoDB 아틀라스는 데이터베이스를 로컬에서뿐만이 아니라 어디에서든 접근 가능하도록 하는 데이터베이스용 클라우드 서비스이다. 회원가입을 하면 온보딩 화면이 뜨는데, 이를 통해 첫 클라우드 데이터베이스를 만들 수 있다.
Document Schema NoSQL 방식의 데이터베이스인 MongoDB에서는 스키마에 대한 강제성이 없다. 이런 특징으로 인해 특정 컬렉션에 들어갈 내용은 설계하기 나름인데, 도큐먼트에 정해진 구조가 없는 자유로운 방식과 모든 도큐먼트가 같은 속성들을 갖는 형태, 그리고 그 중간 어딘가 중 필요에 맞게 채택하면 된다.
CRUD란? Create / Read / Update / Delete 의 약자로, 데이터베이스 등의 시스템에서 사용되는 기본적인 데이터 처리 기능들을 묶어서 일컫는 말이다. MongoDB CRUD 연산 아래는 Mongo Shell에서 사용되는 명령어이며, Express와 같은 프레임워크에서 사용되는 mongoose의 메소드들과는 살짝 다르다. ...
NoSQL MongoDB는 NoSQL 데이터베이스로, 기존의 테이블 형태의 저장 방식을 채용하지 않고 데이터를 ‘document’형태로 묶어서 저장한다. 이러한 특징으로 인해 사용자에게 특정 형태를 강요하지 않으며, 하나의 컬렉션 안의 다른 엔트리들은 서로 별도의 키값을 가질 수 있다. 이는 다소 지저분한 데이터를 초래할 수 있지만 사용자에게 높은 ...