반응형

코딩테스트 16

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

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

알고리즘 2024.02.13

탐욕(Greedy) 알고리즘 - 백준 1700 (22.6.15)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 탐욕 알고리즘(Greedy Algorithm)이란 선택의 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫓아 최종적인 해답에 도달하는 방법이다. 최적해를 구하는 데에 사용되는 근사적인 방법이다. 순간마다 하는 선택은 그 순간에 대해 지역적으로는 최적이지만, 그 선택들을 계속 수집하여 최종적인 해답을 만들었다고 해서, 그것이 최적이라는 보장은 없다. 탐욕 알고리즘의 조건 탐욕 알고리즘이 잘 작동하는 문제는 대부..

알고리즘 2024.02.13

백트래킹 - 백준 10597 (22.6.14)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 백트래킹이란 백트래킹(backtracking)이란 해를 찾는 도중 해가 아니어서 막히면, 되돌아가서 다시 해를 찾아가는 기법을 말한다. 해를 찾아가는 도중, 지금의 경로가 해가 될 것 같지 않으면 그 경로를 더 이상 가지 않고 되돌아간다. 즉 답이 될 만한지 판단하고 그렇지 않으면 그 부분까지 탐색하는 것을 하지 않고 가지치기하는 것을 백트래킹이라고 생각하면 된다. 깊이 우선 탐색(DFS) 과 백트래킹 DF..

알고리즘 2024.02.13

스택 - 백준 17298 (22.6.10)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 스택이란 스택은 가장 나중에 들어온 자료가 가장 먼저 처리되는 LIFO(Last-In-First-Out) 자료구조이다. 백준 17298번 문제는 스택을 이용하여 풀 수 있다. 스택의 생성, 삽입, 삭제, 조회, 응용 등을 알아보자. n = int(input()) seq = list(map(int, input().split())) stk = [] # 스택 생성 ans = [-1] * n for i in ran..

자료구조 2024.02.13

누적합 알고리즘 - 백준 1018 (22.6.7)

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 백준 1018번 문제 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8 ×8 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은..

알고리즘 2024.02.13

파라메트릭 서치 (Parametric Search) 22.6.6

사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트 10개를 골라 사용자에게 보여줍니다. 웹프로젝트 링크 비슷한 차트 검색기 전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요? www.similarchart.com 파라메트릭 서치란 최적화 문제(문제의 상황을 만족하는 특정 변수의 최솟값, 최댓값을 구하는 문제)를 결정 문제로 바꾸어 푸는 것 최적화 문제 : 상황을 만족하는 변수의 최솟값, 최댓값을 구하는 문제 결정 문제 : Yes, No 중 하나로 답할 수 있는 문제 문제를 풀어나가는 과정이 바이너리 서치(이분 탐색)와 매우 흡사하다. 파라메트릭 서치는 의외의 문제들에 적용돼서 최적화 문제들을 조금 더 쉽게 풀 수 있..

알고리즘 2024.02.13
반응형