분류 전체보기

· Algorithm
이진 탐색 (Binary Search)이진 탐색은 이분 탐색, Binary Search라고도 부릅니다. 그리고 이진 탐색은 순차적 탐색보다 빠른 탐색을 하기 위해 고안된 탐색 알고리즘으로 실제로 이분 탐색의 시간 복잡도가 순차적 탐색의 시간 복잡도보다 낮습니다.즉, 이진 탐색은 정렬된 배열 또는 리스트에서 특정 값을 찾는 적합한 고속 탐색 알고리즘입니다.배열이 정렬되어 있어야 한다는 조건이 필요하기 때문에 배열이 정렬되어 있지 않은 경우에는 정렬 작업이 필요합니다.순차적 탐색정렬된 배열 안에서 특정 원소를 찾기 위해 인덱스가 0인 원소부터 차례대로 탐색합니다.순차적으로 탐색하기 때문에 원소를 중간에 건너뛰지 않습니다.이분 탐색정렬된 배열 안에서 특정 원소를 찾을 때 인덱스 i부터 j의 중간값과 비교합니다..
변수변수는 프로그램을 작성하는 데 가장 중요한 요소입니다. 프로그램은 알고리즘을 사용하여 문제를 해결하는데 알고리즘을 표현하기 위해서는 대부분 변수를 필수로 사용해야 합니다.변수는 컴퓨터의 메모리에 일정한 크기의 영역으로 생성됩니다. 일반적인 프로그램은 변수 값을 알고리즘에 따라 변화시켜서 프로그램이 의도한 목적을 달성합니다.변수 선언// 프로그램에서 변수를 사용하려면 다음과 같이 변수를 선언해야 합니다.var answer;이 문장이 실행되면 메모리에는 answer라는 이름이 붙은 영역이 생성됩니다. 위 코드의 var은 자바스크립트의 키워드로 변수를 선언하기 위한 선언자입니다. answer는 변수 이름으로, 이 변수 이름을 사용해 변수 값을 사용할 수 있습니다.자바스크립트는 C나 Java와 달리 변수 타..
✈️다음 글은 코딩 테스트 스터디를 준비하기 위해 책을 정리한 글입니다.코딩 테스트란?코딩 테스트는 지원자가 알고 있는 자료구조와 알고리즘 등을 이용해서 문제를 해결할 수 있는 능력을 평가하는 시험입니다.한국의 중상위 IT 기업은 거의 모두 코딩 테스트를 진행하며, 이 테스트를 통과한 지원자만 다음 면접 과정을 진행할 수 있습니다.일반적인 채용 프로세스코딩 테스트에서는 제한 시간 내 기업에서 출제한 문제를 해결하는 코드를 작성해야 합니다.출제되는 문제 개수와 난이도는 기업별로 상이하며, 일반적으로는 4~5문제를 3시간 정도 내 해결해야 하며, 난이도는 프로그래머스 기준으로 2~4 레벨 정도입니다.제한 시간 내 푼 문제 개수와 시간을 바탕으로 기업은 다음 단계로 넘어갈 지원자를 선택합니다. 따라서 평소 코..
자바스크립트란?프로그래밍 언어프로그래밍 언어란, 컴퓨터 프로그램을 작성하기 위한 언어입니다. 즉, 소프트웨어의 동작(알고리즘)을 설명하기 위한 언어입니다. 프로그래밍 언어로 프로그램을 개발하는 행위를 프로그램, 프로그래밍 언어로 작성한 프로그램을 소스 코드라고 합니다.컴파일 언어와 인터프리터 언어프로그래밍 언어를 사용하면 사람이 이해할 수 있는 언어로 프로그램을 작성할 수 있습니다. 작성된 프로그램은 기계어로 번역되어 컴퓨터가 실행할 수 있게 됩니다.소스 코드를 실행하기 위해 기계어로 번역하는 것을 컴파일이라고 하며, 컴파일을 수행하는 소프트웨어를 컴파일러라고 합니다. 소스 코드 여러 개를 하나로 만들어 컴파일 후에 실행하는 프로그래밍 언어를 컴파일 언어라고 합니다. 대표적인 컴파일 언어로는 C, C++..
00. 깃 설치 아래 명령어(sudo apt-get insatll git)대로 git 설치를 합니다. 그 후 다음 명령어(git --version)를 통해 설치가 되었나 확인할 수 있습니다. 01. SSH KEY 생성 다음 명령어(cd ~/.ssh)를 통해 .ssh 디렉터리로 이동합니다. 그 후 명령어(ssh-keygen -t rsa -C github 계정 메일)를 통해 키페어를 생성하게 됩니다. 다음처럼 id_rsa.pub 파일이 생성됨을 확인할 수 있습니다. 02. SSH KEY Git 연동 다음 명령어(cat id_rsa.pub)를 통해 파일 소스를 복사하여 깃헙 ssh에 저장하면 됩니다. github에서 로그인 후 setting에서 SSH and GPG keys 탭을 클릭한 후 New SSH ke..
00. AWS Region 설정다른 Region에 인스턴스를 생성하면 그 Region에 인스턴스가 생성되기 때문에 성능이 저하되기도 하며 서울 Region에서는 확인이 불가능하기 때문에 서울로 설정해 줍니다.01. 인스턴스 시작AWS 콘솔 탭 → EC2 검색 → 인스턴스 시작 클릭02. 인스턴스 이름 및 태그<p..
변수 (Variable) 기본자바 프로그래밍에서 가장 중요한 능력 중 하나는 값(data)을 잘 다루는 것입니다.값을 저장하는 공간인 변수를 잘 이해하고 활용하는 것이 자바 프로그래밍에서 첫걸음이자 기초 중에 기초입니다.변수란프로그래밍에서 변수란, 값을 저장할 수 있는 메모리상의 공간을 의미합니다. 이 공간에 저장된 값은 변경될 수 있기 때문에 변수라는 용어를 사용하고 있습니다. 하나의 변수에 단 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하게 되면 기존의 값은 사라지게 됩니다.변수 선언과 초기화변수를 사용하려면 먼저 변수를 선언해야 합니다.// age 라는 이름의 변수를 선언int age;// int : 변수 타입// age : 변수 이름변수 타입은 변수에 저장될 값이 어떤 타입으로 저장될지 지..
· Algorithm
완전탐색이란? 완전탐색이란, 모든 경우의 수를 통한 해결 방법입니다. 기본적으로는 브루트 포스(Brute Force)라고도 합니다. 상대적으로 간단한 방법이지만 경우의 수가 많으면 많아질수록 시간이 오래 걸린다는 단점이 있습니다. 그래도 직관적이어서 이해하기 쉽고 문제의 정확한 결과값을 얻을 수 있는 기초적인 방법입니다. * 경우의 수에 따라서 실행 시간이 비례할 수 있기 때문에 입력 값의 범위가 작은 경우에 유용하게 사용됩니다. 완전탐색 기법 - 코딩 테스트 가능한 모든 경우의 수, 방법을 고려해야 합니다. 해결할 문제의 가능한 만큼 경우의 수를 계산해 봅니다. 실제로 답을 구할 수 있는지 적용해 봅니다. 완전탐색 종류 탐색 알고리즘에는 선형 탐색, 이진 탐색, 완전 탐색 총 3가지 큰 분류로 나눌 수..
배열(Array) 변수는 하나의 데이터만 저장할 수 있습니다. 그러나, 저장해야 할 데이터가 많아지면 그만큼 변수를 사용해야 합니다. 이를 해결하기 위해서 배열을 사용하면 많은 데이터를 손쉽게 처리할 수 있습니다.  배열(Array)은 메모리 상에 원소를 연속하게 배치한 자료구조입니다. 그리고 배열은 같은 탑의 변수를 담을 수 있는 고정 크기의 데이터 구조로, 메모리에 연속적으로 저장됩니다. 배열을 구성하는 각각의 값들을 배열 요소(element)라고 하며, 각 값이 저장되어 있는 위치를 인덱스(index)라고 합니다. 배열은 선언과 동시에 저장할 수 있는 타입이 결정되며, 만약에 다른 타입의 값을 저장하려고 하면 타입이 불일치하다는 컴파일 에러가 발생하게 됩니다. 그리고 배열을 한 번 생성하면 길이를 ..
코딩 테스트 문제 중에는 프로그램 실행 시간이 특정 시간 미만이어야 하는 조건이 있습니다. 일반적으로 시간은 1초를 기준으로 하며, 문제에서 주어지는 모든 형태의 입력을 처리하는 데 프로그램이 1초 이상 걸리면 안 됩니다. 시간제한이 있는 문제에서 실행 시간이 해당 제한 시간을 넘어가면 시간 초과가 발생하여 오답 처리 됩니다.하지만 효율성을 측정하는 문제의 경우 대부분 입력 크기가 매우 큽니다. 1만 개의 입력을 받는 문제를 풀 때 코드가 효율적인지 측정하기 위해 모든 입력을 직접 넣기 힘듭니다.. 이때 우리가 작성하는 코드의 실행 시간이 입력 데이터의 크기와 어떤 관계가 있는지 파악해서 그 효율성을 계산해야 합니다. 이렇게 코드 혹은 알고리즘의 실행 시간과 데이터의 상관관계를 시간 복잡도라고 합니다.시..
규니95
'분류 전체보기' 카테고리의 글 목록