2022-02-06 TIL (알고리즘)
06 Feb 2022 | TIL 학습과정1. 알고리즘
silver 4. 주유소 (13305) 문제를 풀었다.
- 문제를 보았을 때 처음 생각난 아이디어는 처음 도시에서 다음 도시로 가기 위해서는 무조건 처음 도시에서 충전을 해야하므로 처음 도시의 가격과 두 번째 도시까지의 거리를 곱한 후 결과값에 저장하고, 그 다음에는 남은 도시까지의 거리의 합과 wons에 저장되어있는 값들 중 첫 번째와 마지막 값을 제외하고 최솟값을 가져와 곱해준 후 결과값에 더해주면 될 것이라고 생각했다.
- 이 아이디어는 리터당 최소 가격이 두 번째 도시의 리터당 가격일 때만 성립하기 때문에 이 아이디어로는 테스트를 통과하지 못했다.
- 다시 생각해본 결과, 리터당 최솟값을 가지고 있는 변수를 생성해 이 변수의 값과 각 도시의 리터당 가격을 비교해가면서 조건에 따라 아래의 과정을 수행하는 알고리즘으로 변경했다.
- 변수 값보다 도시의 리터당 가격이 더 싼 경우, 변수 값을 도시의 리터당 가격으로 변경해준 후 변수 값과 다음 도시와의 거리를 곱한 후 결과값에 더해준다.
- 변수 값보다 도시의 리터당 가격이 더 비싼 경우, 기존의 변수값에 다음 도시와의 거리를 곱한 후 결과값에 더해준다.
2
어제부로 자바의 정석 공부가 끝났다. 원래 오늘 스프링 공부를 위한 세팅을 진행하려 했으나… 하지 못했다.. 내일은 스프링 공부를 위한 세팅을 진행하고, “스프링 인 액션”이라는 책으로 스프링 공부를, “모던 자바 인 액션” 책으로 자바 심화 공부를 시작해야겠다.