본문 바로가기

전체 글

(54)
Kotlin 문법 1/3 package com.example.memo /* fun main(){ //3. String Templete val name = "Joyce" val lastName = "Hong" // println("My name is ${name + " " + lastName}") //주석처리 /* * * * */ //4.조건식 fun maxBy(a: Int, b: Int): Int{ if(a > b) return a else return b } //위 함수와 내용 동일, 더 간결 fun maxBy2(a: Int, b: Int): Int = if(a > b) a else b } */ //1. 함수 fun helloworld() : Unit{ println("Hello, World!") } fun add(a:Int,..
피보나치 푸는 방법 : 재귀(2^N), DP(N^2), 반복(N) https://seoyeonkk.tistory.com/entry/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98%EC%88%98%EC%97%B4-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%9E%AC%EA%B7%80-DP-%EB%B0%98%EB%B3%B5
문자열 찾는 여러 알고리즘 https://kbw1101.tistory.com/54
[투 포인터], [슬라이딩 윈도우] 차이 [투 포인터] : 연속적인 데이터가 주어졌을 때 두 개의 포인터를 이용하여 범위를 정해주고 그 범위에 포함된 데이터의 합 등 연산을 한뒤 그것이 원하는 값인지 검증을 하고 조건에 맞지 않는다면 조건에 맞출 수 있도록 end pointer나 start pointer를 적절하게 이동시켜주면서 모든 데이터를 확인하는 방식의 알고리즘입니다. [슬라이딩 윈도우] : 투 포인터와 유사하게 접근하되 투 포인터처럼 범위의 크기가 줄었다 늘었다 하는 것이 아니라 일정한 크기를 유지하면서 이동한다는 점에서 차이가 있습니다. 그렇기 때문에 투 포인터처럼 데이터의 크기와 데이터 값이 주어지는 동시에 특정 범위가 주어지고 그 범위 내에서 연산처리가 이루어지도록 요구하고 있다면 이는 슬라이딩 윈도우 문제로 볼 수 있습니다. co..
LCA(Lowest Common Ancestor) 최소 공통 조상 [개념] www.crocus.co.kr/660 LCA(Lowest Common Ancestor) 알고리즘 LCA(Lowest Common Ancestor) 알고리즘이란? LCA 알고리즘이란 영어 해석 그대로 최소 공통 조상을 찾는 알고리즘이고, 두 정점 u, v(혹은 a, b)에서 가장 가까운 공통 조상을 찾는 과정을 말한다. 예를들어 www.crocus.co.kr [과정] [예제] www.acmicpc.net/problem/11437 https://www.acmicpc.net/problem/11438 matice.tistory.com/55 [Algorithm] 최소 공통 조상 LCA (Lowest Common Ancestor) 최소 공통 조상이란? 최소 공통 조상(LCA)란 두 노드가 트리에서 두 노드..
최소 신장 트리(Minimum Spanning Tree) : 크루스칼, 프림 [개념] www.crocus.co.kr/733 최소 스패닝 트리(Minimum Spanning Tree, MST) 목록 1. 최소 스패닝 트리(Minimum Spanning Tree, MST)란? 2. 최소 스패닝 트리(Minimum Spanning Tree, MST) 알고리즘- Kruskal's Algorithm 3. Kruskal's Algorithm Source Code 4. 최소 스패닝 트리(Minimum.. www.crocus.co.kr velog.io/@fldfls/%EC%B5%9C%EC%86%8C-%EC%8B%A0%EC%9E%A5-%ED%8A%B8%EB%A6%AC-MST-%ED%81%AC%EB%A3%A8%EC%8A%A4%EC%B9%BC-%ED%94%84%EB%A6%BC-%EC%95%8C%EA..
위상정렬 [설명] m.blog.naver.com/ndb796/221236874984 25. 위상 정렬(Topology Sort) 위상 정렬(Topology Sort)은 '순서가 정해져있는 작업'을 차례로 수행해야 할 때 그 순서를 결정해주기 ... blog.naver.com [순서] [예제] - 큐를 이용한 위상 정렬 : www.acmicpc.net/problem/2252 #include #include #include using namespace std; const int M = 1000 + 5; vector v[M]; int line[M]; int res[M]; int main() { //input int n, m; cin >> n >> m; while (m--) { int num; cin >> num; in..
분할-정복 알고리즘(Divide-Conquer) [개념] data-make.tistory.com/232 [Algorithm] 분할 정복(Divide & Conquer) # Divide & Conquer ## about - 가장 유명한 알고리즘 디자인 패러다임 - 분할 정복 패러다임을 차용한 알고리즘들은 주어진 문제를 둘 이상의 부분 문제로 나눈 뒤 각 문제에 대한 답을 재귀 호출을 이�� data-make.tistory.com [관련 문제 - 1] www.acmicpc.net/problem/16943 16943번: 숫자 재배치 두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다. 가능한 C 중에서 B보다 작거나 같으면서, 가장 큰 값을 구해보� www.acmicp..