![[PS] 백준13305 : 주유소(Java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdFyBda%2FbtsJU2UY4cY%2FnLFwJd2KpASuXPSQV1KDi1%2Fimg.jpg)
문제https://www.acmicpc.net/problem/13305 풀이현재 주유소(i)와 다음 주유소(j)의 가격을 비교하여 현재 주유소가 저렴할 경우 다음 거리까지 주유.만약 다음 주유소가 저렴할 경우 현재 주유소에서 다음 주유소까지의 거리만큼만 주유.소스코드import java.io.*;import java.util.StringTokenizer;//BOJ_13305public class Main { static int cityCnt; static int[] dist, store; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new Input..
![[코드트리 조별과제] 4주차 학습 (정렬 알고리즘)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzCFDu%2FbtsIZvjnz8Z%2Fw2zwSCYL1J175KPMyZKzTK%2Fimg.png)
Intro코드트리 조별과제를 진행한지 저에겐 2주차가 되는 시점이네요!이번 주차에는 평소 해야지 해야지... 하고 생각만 하던 정렬 알고리즘에 대해 학습을 진행했습니다.보다시피 코드트리에는 정렬 알고리즘 학습 커리큘럼이 잘 구성이 되어있고, 이미지 및 영상 참고자료도 보기 편하게 제공이 되어 원활하게 학습할 수 있었습니다. 또한 각각의 알고리즘 동작 방식과 시간, 공간 복잡도를 중점으로 학습하였습니다. Bubble Sort(버블 정렬)거품 정렬은 가장 단순한 정렬 알고리즘입니다. 기본적인 아이디어는 간단합니다. 첫번째와 두번째 값을 비교하고, 두번째와 세번째 값을 비교하고, ... n-1번째와 n번째 값을 비교합니다. 이 과정에서 순서가 맞지 않은 값을 서로 교환해줍니다. 이런 절차를 정렬이 될 때 까지..
![[코드트리 조별과제] 3주차 학습](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkBs3x%2FbtsIQyGMAnt%2FkqIujYlTjfWPC894yTw7ak%2Fimg.jpg)
Intro취준을 같이 하는 계명대학교 동문 한명에게로부터 코드트리를 추천 받아 3주차로 합류하게 되었습니다. (학교 별 대항전은 못참아!) 코드트리는 SSAFY에서 삼성 역량 테스트 B형 특강을 수강할 때 유료플랜을 받아 몇 번 문제를 푼 경험이 있는 플랫폼이였고, 그 때 당시에도 구성이 되게 좋았다고 생각했었습니다. 왜냐하면 백준, 프로그래머스처럼 분류 별 문제만 푸는 것이 아닌 학습 커리큘럼에 대해 체계적으로 잘 구성되어 있었기 때문이였죠. 현재 취업준비를 병행하면서 코딩테스트 준비를 하기 위해 무작정 백준, 프로그래머스 떠돌아다니며 문제만 풀고 있었는데, 이 기회에 제대로 된 커리큘럼을 통해 다시 한번 알고리즘 실력을 정리해보려 합니다! 3주차 학습 정리 우선 동문의 추천을 받아 [학습하기] 테마..
![[PS] 백준1967 : 트리의 지름(Java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb580Z1%2FbtsHLUXeEWF%2FUvY5Dy9YsSBFvrIe9RPgk1%2Fimg.png)
문제https://www.acmicpc.net/problem/1967 풀이깊이 우선 탐색(DFS) 활용한 풀이접근법각 노드에서 순회(dfs)방문체크를 통해 한쪽 깊이로만 탐색더 이상 탐색이 불가능한 노드에 도착 시 최대값 비교 및 갱신문제에서 “트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우” 라는 문맥을 통해서 두 노드 사이를 순회하여 제일 높은 가중치를 구하면 되겠구나 라는 생각을 함. 해당 문제를 풀며 조금 생각이 필요했던 부분은 특정한 노드에서 부모노드로 순회를 하게되는 경우였음.이번에 접근한 방식으로는 클래스 배열을 활용하여 부모노드에 대해 기록을 한 뒤 순회를 하도록 구현하였음. (자세한 부분은 아래코드를 참조)소스코드import java.io.*;import..