본문 바로가기

전체 글283

백준 [자바 java] 1956번 : 운동 문제설명v개의 마을이 있고, 각 마을로 가는 비용이 주어질 때 특정 마을을 왔다갔다 하는 비용 중 가장 작은 비용을 구하는 문제이다. 풀이전형적인 다익스트라 문제이다.하나의 노드에 대한 다익스트라만 구하는 것이 아닌, 모든 노드에 대해서 구해야하므로 2차원배열을 사용하였다. for(int i = 1;i다익스트라 배열을 다 채운 후, 해당 값이 아직 Integer.MAX_VALUE인 경우 해당 노드는 거치치 않은 것으로 판단할 수 있기 때문에 배열 계산에서 제외했다.(MAX_VALUE와 MAX_VALUE를 더하면 오버플로우 발생할 수 있기 때문)  if(ans == Integer.MAX_VALUE){ System.out.println(-1); } else System.out.printl.. 2025. 3. 4.
백준 [자바 java] 9466번 : 텀 프로젝트 문제설명n명의 사람들이 있고, 이 사람들이 원하는 팀원이 주어진다고 할 때, 그 어떤 팀에도 속하지 못하는 사람이 있을 수 있다. 이 사람들의 명수를 구하여라 풀이처음에는 혼자 팀을 하고싶어하는 사람과 팀을 하고싶어하는 사람들을 팀에 속하지 못하는 사람으로 분류하고, 또 그 사람과 팀을 원하는 사람을 제외하고.... 이런식으로 문제를 풀었는데 광탈을 해버렸다. 그래서 여러 반례를 찾아보니, 스스로와 팀을 원하는(혼자 팀을 원하는) 사람들이 없는데도, 팀을 이루지 못하는 경우도 있었다.사이클에 포함되지 못하는 경우! 그래서 이 경우를 제외해야한다. 역시,, 가능한 사람들을 보고 빼는게 맞는거같다. 이렇게 하니까 너무 많은 반례를 지나친다 그래서 while문을 통해 계속해서 탐색하다가 이미 방문한 노드를 마.. 2025. 3. 1.
[Spring] 빈 생명주기 콜백 빈 생명주기 콜백 시작데이터베이스 커넥션 풀(관계형 데이터베이스 할 때 미리 서버랑 db를 연결한다.) 또는 애플리케이션 시작 시점에 연결을 미리 해두고 종료시점에 모두 종료하는 경우 이를 위한 초기화작업과 종료 작업을 어떻게 할지 알아보자! 여기서 초기화작업이란?단순히 객체를 생성하는게 아니라, 그 객체가 동작까지 하는 것을 말한다. public class NetworkClient { private String url;public NetworkClient() {System.out.println("생성자 호출, url = " + url); connect();call("초기화 연결 메시지");} public void setUrl(String url) { this.url = ur.. 2025. 2. 27.
[Spring] 의존관계 자동 주입 다양한 의존관계 주입 방법생성자 주입생성자를 통해서 의존관계를 주입받는다. 생성자 호출시점에 딱 1번만 호출되는 것이 보장된다.불변, 필수 의존관계에 사용된다. (private final)@Componentpublic class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy;@Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRep.. 2025. 2. 27.
백준 [자바 java] 1253번 : 좋다 문제설명n개의 수가 주어지고, 그 중 어떤 수가 다른 두 수의 합으로 나타낼 수 있으면 그 수를 좋다라고 한다.n개의 수 중 좋은 수의 갯수는? 풀이이 문제는 1년전 실패했었다..다시 보니까 그 이유가 좀 보였다!일단 3퍼에서 자꾸 틀렸습니다가 나왔는데 그 이유는 배열을 정렬하고 첫번째 수를 전혀 고려하지 않았기 때문이다. 하지만 이렇게 하면0 0 0 0일때 배열 내의 가장 작은 수도 좋은 수가 될 수 있는데 이를 간과해버린다. 또 60프로대에서 계속 틀렸습니다가 나왔는데 이건 좋은 수는 서로 다른 두 수를 더했을 때 좋다고 할 수 있는데, 투포인터를 하는 과정에서 지금 탐색하고 있는 수까지 포함시켜버렸다.예를 들어 2가 좋은 수인지 탐색하는데 2+0을 확인하고 좋은수라고 인식한 것이다. 그거 말고는 투.. 2025. 2. 27.
UCSD에서 살아남기 이번에는 공부이야기 말고! 다음 이 UCSD 오는 사람들을 위한 팁들을 소개하려고 한다.나는 Qualcomm Institute AI Project로 ucsd에 와서 아마 여기에 좀 초점이 맞추어질 것 같다 만약 이 프로그램에서 어떤 공부를 하는지 궁금하다면https://ethereal-coder.tistory.com/category/UCSD%20Qualcomm%20Institute/AI%20Project 'UCSD Qualcomm Institute/AI Project' 카테고리의 글 목록 ethereal-coder.tistory.com여기를 보면 된다! 숙소보통 이 프로젝트를 하는 사람들은 햐얏트와 레지던스 인에 머문다.나는 레지던스 인에 있었기 때문에 여기 이야기를 해보겠다위와 같이 주택형으로 생겼고,.. 2025. 2. 26.