전체 글100 Spring에서의 예외 처리 (+ 커스텀 에러 구현) Spring에서의 예외 처리자바의 try-catch문을 대신해서, 스프링에서의 핸드링 방식을 정리해 보았다. 1. Spring 기본 예외 처리2. @ExceptionHandler3. @RestControllerAdvice 이렇게 3가지가 존재하고, 동시에 존재할 경우 위의 3,1,2 순서대로 우선순위를 가진다. 1. Spring 기본 예외 처리 (비권장) @Transactional(readOnly = true) public GetScheduleResponse getOne(Long id) { Schedule schedule = scheduleRepository.findById(id).orElseThrow( ()->new IllegalStateExcepti.. 2026. 7. 2. 두 큐 합 같게 만들기 (투 포인터) 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 더보기 문제 풀이 큐 두 개로 투포인터를 구현하는 예제 같은 문제이다. 다른 알고리즘을 생각할 필요 없이 문제에서 제시하는 프로세스를 코드로 구현하면 된다. 라고 했지만 몇몇 테스트 케이스에서 시간 초과가 뜨고말았다. 구현한 코드가 O(N)이라고 생각했는데, 처음에는 queue1의 배열이 원래와 같은 배열로 돌아오면 -1을 리턴하게 만들었는데, 몇몇 테스트 케이스에서 무한 루프가 발생했다.시간 초과 테스트 케이스q1: [10, 5, 1]q.. 2026. 7. 2. BFS(너비 우선 탐색) BFS(너비 우선 탐색)란? 그래프나 트리에서 시작 노드로부터 가까운 노드를 먼저 방문하고 멀리 떨어진 노드를 나중에 방문하는 알고리즘주로 큐를 이용해 구현 특징최단 경로 보장 : 가중치가 없는 그래프에서 최단 경로를 찾을 수 있음큐 사용 : FIFO 방식의 큐를 사용하여 방문 순서 관리활용 예시최단 경로 찾기 : 가중치 없는 그래프에서 두 노드 간의 최단 경로 탐색레벨 순서 탐색 : 트리나 그래프의 각 레벨을 순차적으로 방문브로드캐스트 알고리즘 : 네트워크 내 모든 노드에 메시지 전달퍼즐 및 게임 상태 탐색 : 미로 찾기, 퍼즐 해결 등 단계별 상태 탐색 구현 방법1. 시작 노드를 큐에 넣고 방문 처리합니다. 2. 큐에서 노드를 꺼내고: 2.1 해당 노드의 인접 노드 중 방문하지 않은 노드를 모.. 2026. 7. 1. 투 포인터 (Two Pointers) 투 포인터 (Two Pointers) 란?리스트에 순차적으로 접근해야 할 때, 두 개의 점의 위치를 기록하면서 처리하는 알고리즘완전 탐색으로 시간 복잡도 O(N^2) 걸릴 작업을 O(N)으로 줄여주는 효율적인 알고리즘 언제 사용되는가?연속된 부분 배열의 합/곱을 구해야 할 때정렬된 배열에서 특정 조건을 만족하는 두 수의 쌍을 찾을 때병합 정렬처럼 두 개의 리스트를 합칠 때 예시 문제 풀이 : https://record47584.tistory.com/61 연속된 부분 수열의 합 (투포인터)문제 : https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을.. 2026. 7. 1. 연속된 부분 수열의 합 (투 포인터) 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr더보기 시도 했던 방법 처음엔 단순하게 배열로 풀었는데, 몇몇 테스트 케이스에서 시간초과가 떴다. 최악의 경우, (1000000)^2의 순회를 하기 때문이다.정렬된 배열이 주어지므로 바이너리 서치 트리로 해결해보려고 이런 저런 시도를 해보다가 결국 시간 내에 시간초과를 해결하지 못 했는데, 힌트를 보고 투포인터로 해결해보았다. 작성한 코드 1 (완전 탐색) (시간 초과)class Solution { public int[] solution.. 2026. 7. 1. 큰 수 만들기 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 더보기 문제 풀이 왼 쪽부터 오른 쪽 숫자들과 비교하면서 작은 수를 지워가면서 가장 큰 수를 만들어주면 된다. 사실 Stack을 생각 못 하고, 더 어렵고 지져분하게 코드를 하다가 힌트를 보고 stack으로 구현했다. 작성한 코드 (정답)import java.util.*;class Solution { public String solution(String number, int k) { String[] numberStr.. 2026. 6. 30. 이전 1 ··· 4 5 6 7 8 9 10 ··· 17 다음