일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- JUnit 5
- 문자열
- 구현
- swea
- 유니온 파인드
- mst
- CS
- java
- 투 포인터
- 수학
- 동적계획법
- dfs
- 알고리즘
- 완전탐색
- Kotlin
- Effective Java
- 후니의 쉽게 쓴 시스코 네트워킹
- 백준
- 세그먼트 트리
- 위상정렬
- 그리디
- 에라토스테네스의 체
- Network
- 프로그래머스
목록전체 글 (291)
반갑습니다!
17472번: 다리 만들기 2 boj.kr 풀이 [프로그래머스] 지형 이동과 유사한 문제인데 개인적으로 조금 더 까다로웠다. 상당히 구현할 것이 많은 문제이다. 해당 문제는 완전탐색으로도 해결할 수 있다고 한다. 아래의 코드는 MST를 사용해서 해결하였다. 이 문제에서 MST를 만들어서 문제를 해결하려면 크게 3단계로 나누어서 풀어야한다. 섬들 라벨링 하기 섬들 간의 거리 구하기 MST 생성하기 우선 섬 라벨링은 BFS 알고리즘을 통해 할 수 있었다. visited[][] 배열을 선언해 중복 방문을 막아주었다. // 섬들을 구분하기 위해 bfs 알고리즘 사용 void bfs(int x, int y, int idx) { queue q; q.push({ x, y }); visited[y][x] = idx; ..
6497번: 전력난 boj.kr 풀이 MST로 풀 수 있는 문제이다. 문제는 도시에서 절약할 수 있는 최대 액수를 구하는 것이고 이는 최소 액수로 가로등을 키는 문제라고 생각할 수 있다. 따라서 kruskal 알고리즘을 통해 가로등을 키는데 필요한 비용을 계산하고, 전체 비용에서 빼주면 된다. 코드 C++ Python3
4386번: 별자리 만들기 boj.kr 풀이 MST 알고리즘 기초 문제이다. 입력 값으로 주어지는 간선이 없기 때문에 별들 사이의 모든 간선을 구한 뒤 kruskal 알고리즘을 사용해 MST를 생성해주고 소수 둘 째 자리에서 반올림해주면 어렵지 않게 해결할 수 있다. 코드 C++
참조 유형 Java의 참조 유형에는 크게 4가지가 있다. 그리고 이 유형에 따라서 GC 실행 대상 여부와 실행 시점이 달라진다.아래 위에서 아래로 갈수록 GC의 대상이 될 확률이 높아지고 실행 시점이 앞당겨진다. Strong Reference (강한 참조) Soft Reference (소프트 참조) Weak Reference (약한 참조) Phantom Reference (팬텀 참조) Strong Reference (강한 참조) 일반적으로 Java에서 new키워드를 사용해서 객체를 생성했을 때 '강한 참조'가 된다. SampleObject obj = new SampleObject(); 위의 코드에서 obj 변수가 SampleObject 객체의 참조를 가지고 있는 동안에는 해당 객체는 GC의 대상이 되지 ..
STW(Stop The World)J C/C++와 Java의 가장 큰 차이는 '메모리 관리의 주체' 이다. C/C++ 프로그래밍에서는 개발자가 직접 메모리 관리를 해줬다. C에서는 malloc() 계열의 함수들로 메모리 할당을, free() 함수로 메모리 해제를 해주었고, C++에서는 new 키워드를 통해 객체를 생성하고 delete 키워드를 통해 객체를 제거해주었다. 하지만 Java 프로그래밍을 하다보면 new 키워드는 사용하지만 delete 키워드를 사용하지 않는다. (Java에는 delete 키워드가 없다) 즉, 개발자가 메모리 관리를 하지 않는다는 것이다. 이는 JVM (Java Virtual Machine)속의 Garbage Collector가 사용하지 않는 객체를 제거하는 GC(Garbage ..