| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 세그먼트 트리
- 문자열
- 유니온 파인드
- 구현
- 이분탐색
- Network
- 후니의 쉽게 쓴 시스코 네트워킹
- Kotlin
- BFS
- 투 포인터
- mst
- 수학
- 위상정렬
- 동적계획법
- 프로그래머스
- 에라토스테네스의 체
- 스택
- 그리디
- 완전탐색
- java
- JUnit 5
- swea
- 백트래킹
- 플로이드-와샬
- dfs
- 알고리즘
- 백준
- 시뮬레이션
- Effective Java
- CS
목록전체 글 (291)
반갑습니다!
10164번: 격자상의 경로 www.acmicpc.net 풀이 등굣길문제와 유사하게 해결하였다. 출발지에서 꼭 들려야하는 지점까지 가는 방법의 수와 꼭 들려야하는 곳에서 N X M 번재 지점까지 가는 방법의 수를 구해서 곱해주면 모든 경로의 개수가 된다. 코드 C++ #include #include using namespace std; int n, m, k, r, c; vector dp1, dp2; int main() { cin >> n >> m >> k; dp1 = vector(n, vector(m, 1)); dp2 = vector(n, vector(m, 1)); if (k == 0) { r = n - 1; c = m - 1; } else { if (k % m == 0) r = k / m - 1; el..
클래스 다이어그램을 그릴 때마다 기호가 헷갈렸던 적이 많았다. 복습도 할겸 정리를 해보았다. 클래스 / 객체 간의 관계 클래스 / 객체는 크게 연관 관계(Association), 의존 관계(Dependency), 집합 관계(Aggregation), 구성 관계(Composition)를 가진다. 연관 관계(Associtaion) 연관 관계란 서로 분리된 클래스가 연결을 가지는 것을 의미한다. 이는 단방향과 양방향이 있다. 그리고 각각의 객체는 독립적인 생명주기를 가진다. 또한 1:n, n:1, n:m의 관계를 가질 수 있다. 또한 객체에 대한 참조를 계속해서 유지하고 있다는 특징이 있다. 연관 관계의 표현 방법 클래스 다이어그램으로 표현할 때 연관 관계는 실선으로 표현한다. 단방향 관계의 경우 다른 객체를 ..
9507번: Generations of Tribbles www.acmicpc.net 풀이 일반적인 피보나치 수열 문제를 풀 듯이 동적 계획법을 사용하면 쉽게 해결할 수 있다. 이 때 최대값이 int 범위를 벗어나기 때문에 long long으로 선언해야 해결할 수 있다. 코드 #include #include using namespace std; vector fib; long long fibonacci(int n) { long long& ret = fib[n]; if (ret != -1) return ret; if (n < 2) return ret = 1; if (n == 2) return ret = 2; if (n == 3) return ret = 4; else return ret = fibonacci(n..
일반적인 프로그래밍 언어에서 지원하는 반복문을 코틀린에서도 지원한다. for문 자바에서 사용하던 반복문은 for(int i=0; i val result = a + b if(result > 10) return println("result: $result") } println("end of retFunc") } /* 실행 결과 Start of retFunc */다음과 같은 코드가 있다고 가정하자. a + b가 10보다 크면 람다 함수를 종료하고 싶다. 하지만 위의 코드에서는 "start of retFunc" 만 출력될 뿐, "end of retFunc"는 출력되지 않는다. 이는 람다 함수에서의 return이 retFunc()를 종료시켰기 때문이다. 이를 비지역반환이라고 한다. 비지역반환을 방지하기 위해서는 ..
코틀린에도 조건문이 존재한다. if문 일반적인 프로그래밍 언어들처럼 if ~ else if ~ else를 사용하여 흐름을 제어할 수 있다. 하지만 일반적인 프로그래밍 언어들과 다른 차이점이 존재하는데, 이는 바로 조건문을 표현식을 사용할 수 있다는 것이다. 이해하기 쉽도록 예시를 통해 알아보자. class Main { public static void main(String[] args) { int a = 10; int b = 3; int max; if(a > b) { max = a; } else { max = b; } } }int형 변수 a와 b 중에서 어떤 수가 더 큰지 알아보는 간단한 예제이다. 자바에서는 if문을 통해 a와 b의 비교하고, 더 큰 값을 max에 대입하는 것을 알 수 있다. 코틀린에서..