일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 백준
- 프로그래머스
- BFS
- lambda
- baekjoon
- algorithm
- OS
- 그래프
- 자바
- DFS
- kotlin
- back-end
- 모던자바
- programmers
- 프로젝트
- LEVEL2
- 네트워크
- 알고리즘
- Java8
- Brute-force
- 백트래킹
- 자료구조
- 운영체제
- DP
- java
- 스프링
- Spring
- TDD
- 코틀린
- backtracking
- Today
- Total
목록수학 (2)
요깨비's LAB
class Solution { fun solution(w: Int, h: Int): Long { var answer: Long = 0 var w = w.toLong() var h = h.toLong() val gcd = getGcd(w,h) answer = ((w*h) - (w+h-gcd)) return answer } fun getGcd(num1: Long, num2: Long):Long { var n1: Long var n2: Long var gcd:Long = 1 if(num1 >= num2) { n1 = num1 n2 = num2 } else { n1 = num2 n2 = num1 } for(i in 1..n2) { if(n1 % i == 0.toLong() && n2 % i == 0.toLong..
1. 개념 "하나의 문제는 한번만 풀도록 하는 알고리즘" - 핵심 다이나믹 프로그래밍은 문제의 답이 이용되는 구조를 이용한 알고리즘이다. 큰 문제를 작은 문제로 나눈다는 측면에서 분할정복(divide and conquer)알고리즘과 비슷하지만 다음과 같은 차이점이 존재한다. DAC DP 문제가 절반으로 줄어듬 문자게 -1로 줄어듬 Function problem 최적화 문제 결과가 한번 사용 결과가 여러번 사용됨 분할이 성능 향상 결과 재사용이 성능 향상 다이나믹 프로그래밍 알고리즘을 적용하기 위해서는 두가지 조건을 만족해야 한다.- 큰 문제를 작은 문제로 쪼갤 수 있으며, 작은 문제도 큰 문제와 같은 방법으로 풀 수 있고, 작은 문제들이 겹치는지? (Overlapping SubProblem) 문제를 작은..