분류 전체보기
[백준] 2660 회장찾기 (java)
1. 링크- https://www.acmicpc.net/problem/26602. 풀이키워드: 플로이드 와샬 24. 플로이드 와샬(Floyd Warshall) 알고리즘 지난 시간에는 다익스트라(Dijkstra) 알고리즘에 대해 학습했습니다. 다익스트라 알고리즘은 하나...blog.naver.com - 플로이드 와샬 알고리즘을 이용한다.- 모든 정점 사이의 최단 거리를 구한다.- 구한 최단 거리 중 큰 점수를 구한다.- 큰 점수 중에서 가장 작은 점수(회장이 될 자격이있는) 를 구한 뒤 후보가 몇명이고 몇번째 인덱스가 후보인지를 출력한다.3. 소스코드- 좀 지저분하게 풀었지만.. 맞았다.import java.io.BufferedReader;import java.io.BufferedWriter;import..
[백준] 1389 케빈 베이컨의 6단계 법칙 (java)
1. 링크https://www.acmicpc.net/problem/1389 2. 풀이키워드: 플로이드 와샬 24. 플로이드 와샬(Floyd Warshall) 알고리즘 지난 시간에는 다익스트라(Dijkstra) 알고리즘에 대해 학습했습니다. 다익스트라 알고리즘은 하나...blog.naver.com - 플로이드 와샬 알고리즘을 이용한다.- 모든 정점 사이의 최단 거리를 구한다.- 구한 최단 거리를 합하고 그 합이 가장 작은 인덱스를 정답으로 출력한다.풀이 순서1. NxN 의 2차원 배열을 생성한다.2. 2차원 배열의 모든 값을 INF 로 초기화한다. - 최단 거리를 구해야하기 때문에 기준이 되는 값을 최대값 (MAX) 로 세팅한다.INF = 987654321;3. i=j 인 값은 (열,행이 같은 인덱스..
[백준] 11403 경로찾기 (java)
1. 링크- https://www.acmicpc.net/problem/11403 2. 풀이플로이드 와샬 알고리즘을 이용해서 푼다. 단순히 거쳐가는 정점을 반복문 젤 앞에 둔다.2차원 배열이므로 2차원 배열 반복문을 돌리면서 거쳐가는 정점을 모두 확인한다.해당 문제에서는 단순히 양수인 간선 (1) 을 확인하기 때문에 [i~k] [k~j] 가 모두 1이라면 arr[i][j] 도 업데이트한다.3. 소스코드 (java)/** * https://www.acmicpc.net/problem/11403 */public class BG_경로찾기 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedR..
[Spring] RestClient 에서 Okhttp3 라이브러리를 사용할 때 주의할 점
이 글은 실무에서 겪은 이슈의 원인과 해결, 문제 분석을 회고 형식으로 작성한 글입니다. 결론만 보아도 무방합니다! 1. 개요 (문제 상황)사내에서 스프링 부트 버전을 3.2.3 으로 업그레이드를 하면서 HTTP 클라이언트로 RestClient 를 도입하기로 했습니다. RestClient 는 스프링 부트 3.2.x 버전부터 사용할 수 있으며 RestTemplate 을 더이상 유지보수 하지 않게 되면서 스프링 진영에서 권장하고 있는 HTTP 클라이언트 입니다. WebClient 도 있긴 하지만 따로 spring-cloud 의존성을 추가해야 하기 때문에 후보에서 제외되었습니다. 잠깐 RestClient 의 장점에 대해서 설명하자면 fluent 한 API 를 제공하고 체이닝 메서드를 제공하기 때문에 가독성이..
삶의 지도
해당 글은 글또 10기를 지원하면서 작성한 삶의 지도입니다. 딱히 하고싶은게 없어서 정보통신과를 왔어요 학창시절의 저는 딱히 하고싶은게 없고 친구들과 놀기를 좋아하는 어른들앞에선 조용한 그런아이였습니다. 부모님이 성적에 크게 관심을 가지지도 않았고 그런저런 성적에 맞춰서 전문대 정보통신과에 진학했습니다. 간단히 말하면 소프트웨어 / 전기공학 반반을 다루는 과였어요. 그러던 중 학교에서 어떤 기업과 연계하여 소프트웨어 부트캠프를 진행했는데 또 재밌어보이는건 무작정 도전해보는 성격이라 지원했고 합격 후 학교앞에서 자취하면서 낮에는 부트캠프, 밤에는 야간으로 수업을 들으면서 공부했어요. 자바 스프링으로 웹서버를 만드는 프로젝트를 진행했는데 자연스레 학교 성적도 좋아지더라구요. 그 때부터 프로그래밍에 흥미가 ..
[Spring] @Async 애노테이션에서 커스텀 스레드풀 이름을 설정해줬을 때 따로 빈으로 등록하지않아도 스프링컨테이너가 구동된다구??
1. 발단별도의 커스텀 스레드풀을 빈으로 등록해주지 않고 @Async("customThreadPoolExecutor") 를 메서드에 붙여주고 스프링 컨테이너를 실행했을 때 당연히 빈을 못찾아서 실행부터 오류가 날거라고 생각했다.@Servicepublic class MyService { @Async("customTaskExecutor") public void performAsyncTask() { // 비즈니스 로직 System.out.println("비동기 작업 실행: " + Thread.currentThread().getName()); }}하지만 스프링 컨테이너는 잘 실행되었고 해당 기능을 호출하기 전까지 아무런 문제없이 구동되고 있었다.그리고 해당 기능이 호출되..