일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시뮬레이션
- BFS
- Network
- 프로그래머스
- dfs
- 플로이드-와샬
- 이분탐색
- 위상정렬
- 세그먼트 트리
- 수학
- java
- 백트래킹
- 투 포인터
- 유니온 파인드
- 문자열
- 에라토스테네스의 체
- Kotlin
- 구현
- 동적계획법
- 백준
- 완전탐색
- 그리디
- swea
- CS
- JUnit 5
- 스택
- Effective Java
- 후니의 쉽게 쓴 시스코 네트워킹
- 알고리즘
- mst
목록전체 글 (291)
반갑습니다!
10999번: 구간 합 구하기 2 boj.kr 풀이 Segment Tree + Lazy Propagation을 통해서 해결하였다. 각각의 개념을 잘 모른다면 Segment Tree, Lazy Propagation 글을 참고하자. 코드 C++
1956번: 운동 boj.kr 풀이 도로 길이의 합이 가장 작은 사이클을 찾는 문제이다. V가 400 이하이기 때문에 플로이드-와샬 알고리즘을 사용하면 쉽게 해결할 수 있다. 코드 C++
2075번: N번째 큰 수 boj.kr 풀이 아이디어가 잘 생각나지 않는 문제였다. 문제에서 주어진 모든 수는 자신의 한 칸 위에 있는 수보다 크다 라는 조건은 크게 신경쓰지 않아도 풀리는 것을 봐서는 함정이었던 것 같다. N x N개의 수를 우선 순위 큐에 push() 해주고 우선 순위 큐의 크기가 N보다 커지면 pop() 해주는 방식으로 해결할 수 있다. 이렇게 구현하면 N번째 큰 수는 결국 우선 순위 큐에서 가장 작은 수가 되므로 입력받는 정수에 -1를 곱해줘서 가장 작은 수가 우선 순위 큐의 가장 앞에 오도록 했다. 코드 C++
풀이 벡터의 내적을 구현해주면 된다. 문제에서 알려준대로 그대로 구현하면 쉽게 풀 수 있다. 코드 C++ Java Python3 Kotlin
생성자 대신 정적 팩토리 메소드를 고려하라 클래스는 생성자와 별도로 정적팩토리 메소드(static factory method)를 제공할 수 있다. 이 방식에는 장점과 단점이 모두 존재한다. 우선 장점을 먼저 알아보자. 1. 이름을 가질 수 있다. 생성자에 넘기는 매개변수와 생성자 자체만으로는 반환될 객체의 특성을 제대로 설명하지 못하지만, 정적 팩토리 메소드는 이름만 잘 지으면 반환될 객체의 특성을 쉽게 묘사할 수 있다. 예제를 보며 이해해보자. 위의 예제 코드에서 withAge(), withHeight()와 같은 정적 팩토리 메소드를 사용함으로써 반환될 객체의 특성을 쉽게 파악할 수 있게 된다. 그리고 하나의 시그니처로는 생성자를 하나만 만들 수 있기 때문에 한 클래으세 시그니처가 같은 생성자가 여러 ..