반응형

개발자 71

최소 공통 조상 알고리즘 - 백준 3584 / 11438 (22.7.22)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 최소 공통 조상이란? 최소 공통 조상(LCA, Lowest Common Ancestor)은 트리 구조에서 임의의 두 정점이 갖는 가장 가까운 조상 정점을 말한다. 최소 공통 조상을 구하는 방법 LCA를 선형 탐색으로 구하기 : O(Depth) 두 노드의 레벨이 같으면 부모 노드를 같은 횟수로 거슬러 올라가면 되지만, 레벨이 다르면 동시에 거슬러 올라가기 전, 두 정점의 깊이를 동일하게 맞춰야 한다. 구현 -..

알고리즘 2024.02.13

KMP 알고리즘 - 백준 1786 (22.7.21)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com KMP 알고리즘이란 KMP알고리즘은 텍스트 내(본문)에서 특정 문자열, 패턴("테이프")을 찾는 문자열 검색을 할 때 사용하는 알고리즘이다. 만든 사람이름이 Knuth, Morris, Prett이기 때문에 앞글자를 하나씩 따서 KMP알고리즘이라고 한다. 일반적으로 떠올리는 방법인 순차적 탐색보다 훨씬 효율적이다. KMP알고리즘의 시간 복잡도는 O(N+M)으로 순차적 탐색방법 O(NM) 보다 매우 빠르다. 먼..

알고리즘 2024.02.13

벨만 포드 알고리즘 - 백준 11657 (22.7.17)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 벨만 포드 알고리즘이란 벨만 포드 알고리즘(Bellman-Ford Algorithm)은 한 노드에서 다른 노드까지의 최단 거리를 구하는 알고리즘이다. 다익스트라 알고리즘이 모든 가중치가 양수인 경우에만 사용할 수 있는 반면에 벨만-포드 알고리즘은 노드 간의 간선 가중치가 음수인 경우에도 사용할 수 있다. 벨만 포드 알고리즘의 동작 시작 노드를 설정한다. 시작 노드에서 각 다른 노드의 거리 값을 무한대로 설정..

알고리즘 2024.02.13

스프링 핵심 원리 기본편 완강기념 정리 (22.7.6)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 스프링 핵심 원리 기본편 링크 스프링 핵심 원리 - 기본편 강의 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢 www.inflearn.com 스프링 핵심 원리 기본편 목차 1. 객체 지향 설계와 스프링 2. 예제를 통한 스프링 핵심 원리 이해 3. 스프링 컨테이..

스프링 2024.02.13

투 포인터 알고리즘 - 백준 1806 (22.6.30)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 투 포인터 알고리즘 1차원 배열이 있고, 이 배열에서 각자 다른 원소를 가리키고 있는 2개의 포인터를 조작해 가면서 답을 얻는 알고리즘이다. 백준 1806번 문제 백준 1806번 문제를 풀면서 알아보자면, 포인터 2개를 준비한다. 시작과 끝을 알 수 있도록 start, end 라고 한다. 맨 처음에는 start = end = 0이며, 항상 start

알고리즘 2024.02.13

서로소 집합과 크루스칼 알고리즘 - 백준 1197 (22.6.29)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 서로소 집합 수학에서 서로소 집합이란 공통 원소가 없는 두 집합을 의미한다. 예를 들어 집합 {1,2}와 집합 {3,4}는 서로소 관계이다. 반면에 집합 {1,2}와 집합 {2,3}은 2라는 원소가 두 집합에 공통적으로 포함되어 있기 때문에 서로소 관계가 아니다. 서로소 집합 자료구조 서로소 집합 자료구조란 서로소 부분 집합들로 나누어진 원소들의 데이터를 처리하기 위한 자료구조이다. union, find연산..

알고리즘 2024.02.13

데이터 변경을 위한 SQL문 (22.6.22)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com INSERT 테이블에 행 데이터를 입력하는 기본적인 SQL문 INSERT INTO 테이블 [(열1, 열2, ...)] VALUES (값1, 값2, ...) 값이 테이블을 정의할 때의 열 순서 및 개수와 같으면 열들은 생략 가능 INSERT INTO a VALUES ('b', 'c', 'd'); 속성을 입력하지 않으면 NULL이 들어감 INSERT INTO (a, b) VALUES ('c', 'd'); -- ..

데이터베이스 2024.02.13

SQL 기본 문법 SELECT~FROM~WHERE (22.6.20)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com SELECT문의 기본 형식 SELECT 열이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 1. FROM 2. WHERE 3. GROUP BY 4. HAVING 5. ORDER BY 6. LIMIT 1. FROM 테이블에서 내용을 가져온다는 의미 2. WHERE 조회하는 결과에 특정한 조건을 추가해서 원하는 데이터만 보고 싶을 ..

데이터베이스 2024.02.13

플로이드-워셜 알고리즘 - 백준 11404 (22.6.19)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 플로이드 워셜 알고리즘이란 플로이드-워셜(Floyd-Warshall) 알고리즘은 한 번 실행하여 모든 노드 간 최단 경로를 구할 수 있는 알고리즘이다. 다익스트라 알고리즘과 비교를 하면서 설명하자면, 다익스트라 알고리즘은 단계마다 최단 거리를 가지는 노드를 하나씩 반복적으로 선택한다. 플로이드 알고리즘 또한 단계마다 '거쳐 가는 노드'를 기준으로 알고리즘을 수행한다. 하지만 매번 최단 거리를 가지는 노드를 ..

알고리즘 2024.02.13

다익스트라 알고리즘 - 백준 1753 (22.6.18)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 다익스트라 알고리즘이란 음의 가중치가 없는 그래프의 한 정점(Vertex)에서 모든 정점까지의 최단거리를 각각 구하는 알고리즘이다. 그리디와 동적 계획법을 활용한 대표적인 최단 경로 탐색 알고리즘이다. 흔히 인공위성 GPS 소프트웨어에 등에서 가장 많이 사용된다. 다익스트라 알고리즘이 동적 계획법 문제인 이유는 최단 거리는 여러 개의 최단 거리로 이루어져 있기 때문이다. 하나의 최단 거리를 구할 때, 그 이..

알고리즘 2024.02.13
반응형