1. 문제 링크 https://www.acmicpc.net/problem/17136 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크 www.acmicpc.net 2. 접근법 1. 변수 선언 cntOne: 1이 적힌 칸의 개수 (1이 적힌 모든 칸을 방문했는지의 여부를 판단하기 위해) numOfPapers[]: 색종이 사이즈당 남은 색종이의 수 board[][]: 입력 2. backTracking(int depth) 색종이를 붙일 때마다 depth 증가 즉, depth가 붙인 색종이의 수이므로 최솟값을 담은 ans와 비교하여 dep..
1. 문제 링크 https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 첫째 줄에 수식의 길이 N(1 ≤ N ≤ 19)가 주어진다. 둘째 줄에는 수식이 주어진다. 수식에 포함된 정수는 모두 0보다 크거나 같고, 9보다 작거나 같다. 문자열은 정수로 시작하고, 연산자와 정수가 www.acmicpc.net 2. 접근법 1. 입력받은 수식을 수와 연산자로 나누어 주었다. numbers 리스트에는 수, operators 리스트에는 연산자 2. dfs 탐색으로 계산 결과(result)와 어디까지 계산했는지 인덱스(index)를 넘겨주며 괄호는 치는 경우를 나누어갔다. 3. 괄호는 치는 경우는 다음과 같이 구분했다. 3 + 8 * 7 - 9 * 2 인 경우, 3 + 8 * ..
1. Argument Resolver란? - 사용자가 임의의 값을 컨트롤러의 메소드 인자로 전달할 때 사용됨 - 예를 들어, 세션에 저장되어 있는 값 중 특정 이름의 값을 메소드 인자로 전달하는 경우 즉, 어떠한 요청이 컨트롤러에 들어왔을 때, 요청에 들어온 값으로부터 원하는 객체를 만들어내는 일을 Argument Resolver가 간접적으로 해줄 수 있음 예를 들어, 사용자가 로그인되어 있을 때, 올바른 사용자인지 확인해야 함. 사용자가 가진 토큰이 유효한 토큰인지 검증을 거친 후, 토큰에 저장된 id를 꺼내 LoginMember라는 객체로 만들어내는 과정이 필요 -> 이때 ArgurmentResolver를 사용할 수 있음 Argument Resolver와 Interceptor의 차이점 - Argume..
1. 인터셉터(Interceptor)란? 1. Filter 요청이 들어오면, web.xml과 같은 파일에 등록된 필터를 거침 요청을 받아내기 전, 응답을 보내기 전 필터가 수행됨 2. DispatcherServlet 이후 DispatcherServlet에 넘어감 선처리 작업 후, HandlerMapping을 통해 어떤 Handler가 동작해야 하는지 찾고 실행하도록 함 Handler를 실행할 때, HandlerInterceptor를 거침 이후 View의 정보를 반환받아, ViewResolver를 통해 View를 찾고 응답함 인터셉터 (Interceptor) - Interceptor는 DispatcherServlet에서 Handler(Controller)로 요청을 보낼 때, Handler에서 Dispatc..