전체 글

<어제보다 더 나은 오늘을 위해>
01 완전 탐색✔️ 완전 탐색은 간단히 가능한 모든 경우의 수를 다 체크해서 정답을 찾는 방법이다. 어떻게 보면 무식한 방법이라 할 수 있다.이 방법은 무식하게 한다는 의미로 “Brute Force (순전한 힘)”라고도 불리며, 직관적이여서 이해하기 쉽고 문제의 정확한 결과를 얻어 낼 수 있는 가장 확실하며 기초적인 방법이다.예를 들어 4자리 비밀번호를 알아내고 싶다면 생년월일, 기념일 등으로 유추해보는 것이 아닌 0000부터 9999까지의 모든 경우의 수를 전부 대입해보는 것이다.완전 탐색 구현 방법for/while loop재귀함수보통 간단한 문제는 for/while문을, 어려운 문제는 재귀함수를 사용한다고 생각하면 된다. 02 재귀✔️ 재귀는 하나의 함수에서 자기 자신을 호출해 작업을 수행하는 알고리..
·Front-end
사용 이유 서합 이후 프론트엔드 과제를 하면서 임시 json 데이터를 불러오기 위해 API를 만들어야했다. 서버에 연결해서 하는 방법도 있지만 현재는 임시 json 데이터를 두는 거라고 생각하였기 때문에 라이브러리 중 json-server를 활용하게 되었다. 기본 설정 asset/db에 data.json이라는 파일을 만들고 { "numbers": [ { "id": 1, "number": 1 }, { "id": 2, "number": 2 }, { "id": 3, "number": 3 }, { "id": 4, "number": 4 } ] } json형태의 데이터를 넣어둔다. 라이브러리 설치 npm install -g json-server sudo npm install -g json-server 설정 json..
그리디 알고리즘 그리디 알고리즘은 매번 최적의 선택을 하여 결국 결과가 최적이 되게 하는 알고리즘이다. 또한 그리디 알고리즘은 최소 비용 신장트리, 크루스칼 알고리즘, 다익스트라 알고리즘 등 다양한 알고리즘에 응용되어 사용되므로 Greedy 특징을 잘 알아두어야한다. 하지만 그리디 알고리즘은 투포인트처럼 특정한 풀이방식이 정해져있는 알고리즘과는 다르게 문제마다 풀이방식이 다르므로 처음 접하면 어렵게 느낄 수 있는 알고리즘이다. 01. 그리디 알고리즘이란? 그리디 알고리즘은 직역하자면 탐욕 알고리즘으로 미래를 고려하지 않고 오직 현재 시점에 가장 좋은 선택을 하는 알고리즘이다. [예시] 단위가 다른 동전들로 총액 K를 만들 수 있는 최소한의 동전 개수를 구한다. 1,620원을 만들려면 500원 동전 3개,..
에라토스테네스의 체란? 소수를 판별하는 알고리즘이다. 소수들을 대량으로 빠르고 정확하게 구하는 방법이다. 소수란? 간단하게 1과 그 수 자신 이외의 자연수로는 나눌 수 없는 자연수로 정의할 수 있다. 단일 숫자 소수 여부 확인 어떤 수의 소수의 여부를 확인 할 때는, 특정한 숫자의 제곱근까지만 약수의 여부를 검증하면 O(N^1/2)의 시간복잡도로 빠르게 구현할 수 있다. 수가 수(N이라고 가정)를 나누면 몫이 생기는데, 몫과 나눌 수 있는 둘 중에 하나는 N 제곱근 이하이기 때문이다. 만약, 대량의 소수를 한꺼번에 판별해야할 경우는 '에라토스테네스의 체'를 이용한다. 에라토스테네스의 체 원리 에라토스테네스의 체는 가장 먼저 소수를 판별할 범위만큼 배열을 할당하여, 해당하는 값을 넣어주고, 이후에 하나씩 ..
ssooyeon
공부하는 개발자