전체 글1320 [백준] 14502 연구소 - Implementation / Java • 문제 링크 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net • 풀이 과정 연구소에 벽을 3개 세우는 모든 경우의 수를 재귀적으로 dfs 를 통해 구한다. 이렇게 벽을 세운 각각의 경우의 바이러스 확산을 bfs 를 통해 구현하고 이때 바이러스를 확산시킬 공간은 기존 lab 배열을 복사한 copy 배열을 생성해 구현한다. 바이러스가 확산된 copy 배열을 매개변수로 받아 해당 배열에 존재하는 0의 개수, 즉 안전 영역의 크기를 배열을 전체 탐색하여 구하고 이를 매번 maxCnt와 비교하여 최댓값으로써 갱신하여 정답을 출력한.. 2022. 7. 1. [Spring] MultipartFille 을 활용한 다중 파일 업로드 및 출력 다중 파일 업로드를 위해 HTTP 에서 제공하는 multipart/form-data 전송 방식을 사용하면form 태그에 담긴 각각 다른 형식의 데이터들을 구분해주므로key / value 형태의 문자 데이터와 바이너리 형태의 파일 데이터를 함께 전송할 수 있다. 이렇게 전송한 데이터는 Spring 의 MultipartFille 인터페이스를 통해 받을 수 있으며이러한 기능을 구현하기 위해서 우선 몇 가지 환경 설정이 필요하다. • 환경 설정 및 Form 태그 구성SpringBoot / Maven 기준, 파일 업로드와 io 관련 디펜던시를 추가한다. commons-fileupload commons-fileupload 1.3.3 commons-io commons-io 2.6 ap.. 2022. 6. 30. [백준] 15685 드래곤 커브 - Implementation / Java • 문제 링크 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커 www.acmicpc.net • 풀이 과정 입력받은 선분의 방향(dir) 을 List 에 추가한다. 리스트의 마지막 인덱스부터, 세대(gen) 수 만큼 반시계 방향으로 90도 회전한 드래곤 커브를 리스트에 추가하여 세대 별 드래곤 커브의 형태를 구현한다. 좌표 상 해당 드래곤 커브의 꼭짓점의 위치를 boolean 형태 2차원 배열에 표시하고, 해당 배열을 모두 탐색해 크기가 1x1인 정사각형의 네 꼭짓점이 true 인 개수를 반환한다. 이때 런타임 에.. 2022. 6. 30. [Spring] FlashMap 을 활용하여 Controller 간 값 전달 FlashMap 은 controller 간 redirect 시 지정한 파라미터를 전달하기 위해 Spring 3.1 버전부터 고안된 자료구조이다. 이는 값 전달 시 url 에 해당 파라미터를 노출시키지 않고, 휘발성을 지니고 있어 사용 후에 Spring 에서 자동으로 값을 지워준다는 이점이 있다. 사용법은 일반 Map 자료구조와 유사하며 그 예시는 아래와 같다. @RequestMapping("send") public String send(@RequestParam Map map, HttpServletRequest request) throws Exception { FlashMap fmOut = RequestContextUtils.getOutputFlashMap(request); int page = 1; if .. 2022. 6. 29. [백준] 16234 인구 이동 - Implementation / Java • 문제 링크 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net • 풀이 과정 • 풀이 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.LinkedList; import java.u.. 2022. 6. 29. [MyBatis] MyBatis 를 활용한 동적 쿼리 필터링 기능 구현 시 다중 값을 쿼리하거나 특정 값 선택 여부에 따라 동적 쿼리로 구현해야 하는 경우, 우선 MyBatis 에 넘길 객체의 요소를 아래와 같이 설정한다. @Data @Alias("clothes") public class ClothesDTO { private String keyword; private String brand; private List type; private int minCost; private int maxCost; } keyword 는 사용자가 입력한 검색어, brand 는 단일 선택 값, type 은 체크박스 다중 선택값을 List 에 담아 전달한다. minCost, maxCost 는 검색하고자 하는 특정 값의 범위를 지정한다. MyBatis 에는 다양한 동적쿼리문이 있.. 2022. 6. 28. 이전 1 ··· 206 207 208 209 210 211 212 ··· 220 다음