본문 바로가기

전체 글273

[BAEKJOON] 1967 트리의 지름 - Python 문제 요약 알고리즘 분류: 트리, DFS 난이도: Gold4 문제내용: 노드와 가중치가 주어진다. 노드간의 가장 긴 길이를 구해라. 사이트: https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 문제풀이 이번에는 문제 유형은 트리와 DFS을 요구하는 문제이다. 트리와 DFS 알고리즘에 대한 설명은 아래에 있으니 참조하면된다. 트리 : https://jih3508.tistory.com/87 [알고리즘 이론] 트리(Tree) 이론 이.. 2022. 12. 19.
[알고리즘 이론] 깊이 우선 탐색(DFS) 이론 이번에 볼 자료구조는 깊이 우선 탐색(DFS)이다. 깊이 우선 탐색은 영어로 Depth First Search이고 줄어서 DFS라고 많이 부른다. 그래프 탐색 알고리즘 중 하나인데 그래프 말고도 트리에서도 적용이 된다. 반대로 넓이 우선 탐색(BFS)도 있는데 코드 테스트에서는 DFS 보다 BFS가 많이 나오지만 그래도 공부를 해야 되는 기본적인 알고리즘이다. DFS알고리즘을 알기위해서는 트리, 그래프, Stack 자료구조를 알아야 이해가 되는데 이 부분은 우선 공부한 뒤로 이 알고리즘을 공부하는 것을 추천한다. 안 그러면 이 뒤에 내용이 이해가 안 될수가 있기 때문이다. 자세한 설명은 아래의 사이트에 참조하면된다. https://namu.wiki/w/%EA%B9%8A%EC%9D%B4%20%EC%9.. 2022. 12. 19.
[gradle] Gradle 버전 변경 하는 방법 프로젝트 세팅하는데 가이드에 준것이랑 또는 외부 프로젝트 세팅할때 Gradle 버전이 안맞아서 gradle Sync나 의존라이브러리 관리할때 오류가 나서 곤란한 경우가 많다. 이런 문제 해결하는 방법 중하나가 gradle 버전을 변경해서 작업하면 해결 되는 경우가 많다. [IntelliJ]로 변경하는 방법 [gradle] → [wrapper] → [gradle-wrapper.properties] 파일에 들어가서 distributionUrl 부분에 https:~/gradle x.x.x~ 라고 써져있는데 x.x.x를 변경하고 gradle reload 누르면 gradle 버전에 맞추어서 자동으로 변경이 된다. 2022. 12. 16.
Could not find method compile() for arguments [org.springframework.boot:spring-boot-starter-web] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. Could not find method compile() for arguments [org.springframework.boot:spring-boot-starter-web] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 보면 첫 번째로 하는 것이 build.gradle 세팅하는 하는것인데 위와 같은 오류 나는 이유가 책에 나오는 gralde 버전과 지금 최신 gradle 버전이 안맞아서 문제가 생긴것이다. 책의 gradle 버전은 4.8 ~ 4.10인데 지금 기준으로 gradle 버전은 7.x 일것이다. 그래서 책의 내용대로 따라.. 2022. 12. 16.
[BAEKJOON] 2630 색종이 만들기 - JAVA 문제 요약 알고리즘 분류: 분할정복, 재귀호출 난이도: Silver2 문제내용: 종이안에 정사각형 흰색 영역 개수와 파란색 영역을 구해라. 사이트: https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 문제풀이 이번에는 문제 유형은 완전탐색 방법에서 분할 정복으로 풀어야 될 문제이다. 어떻게 분할해서 풀면 된다. 나누는 방법은 간단하다. 문제에서는 주어진 가로세로 길이가 2^N이기 때문에 가로세로 각각 2로 나누어서 탐색 .. 2022. 12. 16.
[BAEKJOON] 9465 스티커 문제 요약 알고리즘 분류: 동적계획법, dp 난이도: Silver1 문제내용: 스티커가 2 × n개가 있다. 하지만 하나 자르면 상하좌우 사용을 못한다. 사용할수 있는 스티커중 가중치 최대값을 구해라. 사이트: https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 문제풀이 이번 문제는 테스트 개수 T를 주고 길이가 최대 100,000이다. 브루드포스 같은 알고리즘으로 풀면 시간초과가 나서 가장 좋은 방법은 동적계획법으로 해결하는 방법이다... 2022. 12. 14.