
fetch와 promise
생일 출력 사이트를 만들면서 fetch를 사용했다 fetch를 이용해서 json 데이터(pormise형태) 를 받아서 다시 html에 보여주는 방식으로 사용했다 fetch를 이용하기전에 먼저 알아야 할 것이 있다 동기와 비동기 출처 https://koras02.tistory.com/87 동기(Synchronous)는 요청을...

생일 출력 사이트를 만들면서 fetch를 사용했다 fetch를 이용해서 json 데이터(pormise형태) 를 받아서 다시 html에 보여주는 방식으로 사용했다 fetch를 이용하기전에 먼저 알아야 할 것이 있다 동기와 비동기 출처 https://koras02.tistory.com/87 동기(Synchronous)는 요청을...

저장된 json파일을 이용해서 이름이나 id번호를 입력하면 해당된 사람의 생일을 출력하는것이다 기능 인덱스 번호를 입력하여 서버로 부터 생일 데이터를 요청하여 그에 맞는 생일을 출력한다 번호가 아닌 이름을 입력해도 생이리 나오도록 한다 번호가 잘못된 경우 ‘존재하지 않음’을 출력한다 프로그래밍 요구 사항 r...
DP란 다이나믹 프로그래밍(dynamic programming)의 약자로 메모리를 적절히 사용해서 시간을 줄이고 효율성을 향상시키는 방법이다 작은 문제들을 모아서 큰 문제를 해결하는 방식으로 사용한다 문제 유형 최적 부분 구조 최적 부분 구조란 하위 부분 문제해결 방법을 통해 최종 문제를 해결 중복되...
자바 스크립트는 객체(object) 기반 언어이다 객체에는 기능(method)과 속성(property)이 있다 객체.메서드(); 객체.속성; 또는 객체.속성=값; 을 통해서 객체의 속성값을 바꿀 수 있다 객체 종류 내장 객체 자바스크립트 엔진에 내장 되어있다 문자, 날짜, 배열, 수학등 객체가 있다 ...

투 포인터(Two Pointers)란 리스트에 순차적으로 접근 할 때 두개의 포인터를 이용해서 처리하는 알고리즘이다 투 포인터를 이용한 문제는 리스트에서 특정 합을 찾거나 특정 부분합을 찾을 때 이용할 수 있다 만약 리스트가 주어지고 그 리스트에 특정합이 되는 수열을 찾으라는 문제가 있으면 두개의 포인터를 이용해서 해결 가능하다 t...

리스트를 입력 받아서 리스트중 2개의 합이 특정한 값을 찾는 문제로 대표적인 투 포인터 문제이다 여기서는 두개의 합만을 구하므로 부분합을 이용하지 않고 푼다 리스트를 입력받아서 서로 다른 두 용액을 섞었을때 0에 가장 가까운 값을 만드는 두 용액을 찾아내야한다 만약 같은 값이 두가지 이상인경우 아무거나 하나를 출력한다 -> 빠르게...

소수 찾는 알고리즘은 매우 많다 그 중에서 기본적인것은 자연수 n이 주어진다면 n이 소수인지 판별하기 위해 2~n-1까지 모든 숫자를 for 문을 통해서 나누어본다 나머지가 0이 나오는 값이 없다면 그 숫자는 소수이다 위 방법이 기본적인 소수를 찾는 방법이지만 프로그래밍에서 숫자 하나당 n-3번 반복해야하기 때문에 시간이 매우 많이 소요된다 ...

기본적인 다익스트라 문제에서 특정 조건 2개가 추가된 문제이다 다익스트라 알고리즘에서 양방향으로 이동 할 수 있도록 입력을 받을때 반대 방향 그래프로 같이 넣어준다 이 문제서는 두 점을 추가로 주어서 그 점을 경유하는 최단거리를 구하는 것이다 이 두번째 조건을 해결하기 위해 경유 정점 2개를 기준으로 경유를 통해 나올 수 있는 최단거리를 예...

최단 경로 문제로 간선마다 가중치가 달라서 다익스트라 알고리즘을 이용해야하는 문제이다 기본적인 최단거리 다익스트라 문제로 해당 알고리즘을 알면 바로 풀 수 있다 우선순위 큐를 쓰지 않고 리스트에서 최단거리를 찾는 방법은 시간 초과가 나온다 다익스트라 참고 import sys import heapq input = sys.st...

다익스트라 알고리즘은 최단거리를 구할 때 사용한다 bfs도 최단거리를 구할때 사용하지만 차이점은 bfs는 단위길이 모든 간선의 가중치가 서로 같을 때 이용가능하다 다익스트라 알고리즘은 노드 사이 간선의 가중치가 다를 때 사용한다 만약 간선의 가중치가 다를 때 모두 동일하게 간선을 쪼개서(추가적인 노드가 생성 2인 간선에 노드를 1개 추가해서 1,1로...