전체 글
-
[백준] 1113번 : 수영장 만들기 - 자바(JAVA)알고리즘/백준 2022. 5. 9. 00:01
https://www.acmicpc.net/problem/1113 1113번: 수영장 만들기 지민이는 수영장을 만들려고 한다. 수영장을 만들 곳의 크기는 N*M이고, 각 칸은 직육면체이다. 따라서, 각 칸의 직육면체의 높이가 쓰여 있는 다음과 같은 땅을 생각할 수 있다. 16661 61116 16661 이 www.acmicpc.net 문제 해석 지민이는 수영장을 만드려고 합니다. 수영장을 만들 곳의 크기는 N*M의 직사각형입니다. 각, 칸에는 높이가 쓰여 있습니다. 16661 61116 16661 이 수영장에는 물이 15만큼 들어갈 수 있습니다. 높이가 6인 벽들로 둘러쌓여있는 부분인 가운데 3개의 칸에 5만큼 물을 채울 수 있습니다. 땅의 모양이 주어질 때, 수영장에 물이 얼마큼 있을 수 있는지 구하세..
-
[백준] 17070번 : 파이프 옮기기 1 - 자바(JAVA)알고리즘/백준 2022. 5. 8. 00:01
https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net 문제 해석 N x N 크기의 집이 존재합니다. 각 칸은 (r , c)로 나타낼 수 있습니다. r은 행번호, c는 열 번호입니다. 집은 빈칸0 , 벽 1로 이루어집니다. 파이프는 항상 빈칸만 차지해야 하며 파이프를 밀 수 있는 방향은 →, ↘, ↓입니다. 밀면서 회전시킬 수 있지만 45도만 회전시킬 수 있습니다. 다음 그램은 파이프가 놓여진 방향에 따라서 이동할 수 있는 방..
-
[백준] 17471번 : 게리맨더링 - 자바(JAVA)알고리즘/백준 2022. 5. 7. 00:01
https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 문제 해석 N개의 구역이 존재하고 이 구역은 1번부터 N번까지 번호가 매겨져 있습니다. 구역을 두 개의 선고 구로 나누어야 하고, 각 구격은 두 선거구 중 하나에 포함되어야 합니다. 선거구는 구역을 적어도 하나 포함해야 하며, 한 선거구에 속한다면 모두 연결되어 있어야 합니다. 구역 A에서 B로 이동할 수 있다면 이는 연결되어 있다고 할 수 있습니다. 공평하게 선거구를 나누기 위해 두 선거구에 포함된 인구의 차이를 최..
-
[백준] 18808번 : 스티커 붙이기 - 자바(JAVA)알고리즘/백준 2022. 5. 6. 00:01
https://www.acmicpc.net/problem/18808 18808번: 스티커 붙이기 혜윤이는 최근에 다양한 대회를 참여하면서 노트북에 붙일 수 있는 스티커들을 많이 받았다. 스티커는 아래와 같이 사각 모눈종이 위에 인쇄되어 있으며, 스티커의 각 칸은 상하좌우로 모두 연 www.acmicpc.net 문제 이해 여러 개의 스티커가 존재합니다. 스티커는 각 칸이 상하좌우로 모두 연결되어 있습니다. 주황색 칸은 스티커가 붙은 칸, 하얀색 칸은 스티커가 붙지 않은 칸을 나타냅니다. 모눈종이의 크기는 스티커의 크기와 꼭 맞아 스티커가 포함되지 않는 행이나 열은 존재하지 않습니다. 직사각형 모양의 노트북에 스티커들을 차례대로 붙이려고 합니다. 1. 스티커는 회전시키지 않고 모눈종이에서 떼어낸다. 2. 다..
-
Controller에 인자값은 어떤값이 올 수 있을까?프로젝트/게시판 프로젝트 2022. 5. 6. 00:01
Controller가 매우 다양한 인자 값을 받아올 수 있기 때문에 어떤 값들을 받아 올 수 있는지 어떻게 받아오는 게 적절할지 조사해보고자 합니다. Spring Controller에서 Parameter를 받는 방식 HttpServletRequest를 통해 받는 방법 @RequestMapping("/test") public String test(HttpServletRequest req) { String userId = req.getParameter("userId"); String password = req.getParameter("password"); return "test"; } getParameter()는 String값을 반환합니다. 이때 parameter로 보낸 변수명과 getParameter("변..
-
RestController에서 클라이언트에게 어떤 값을 반환해야 할까?프로젝트/게시판 프로젝트 2022. 5. 5. 03:41
Spring Boot를 활용하여 REST API를 만들던 도중 클라이언트에게 값을 반환하는 방법은 어떤 것들이 존재하며 어떤 값을 반환해야 할지 정리하면 좋을 것 같아 해보려고 합니다. 우선 반환하는 방법들에는 어떤것들이 존재할까요? 1. String반환(단순 문자열) @RestController public class testController{ @RequestMapping("/test") public String test1(){ return "test"; } } 문자열 데이터는 기본적으로 text/html 타입을 처리됩니다. "test"라는 메시지가 HTTP ResponseBody에 직접 쓰이게 됩니다. 2. 객체 반환 @RestController public class testController{ ..
-
[백준] 19238번 : 스타트 택시 - 자바(JAVA)알고리즘/백준 2022. 5. 5. 00:01
https://www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net 문제 해석 스타트 택시는 손님을 도착지로 데려다줄 때마다 연료가 충전된다. (연료는 승객을 태워 이동하면서 소모한 연료 양의 2배가 충전된다.) 연료가 바닥나면 그날의 업무는 끝난다. (실패 시 -1 출력) 택시 기사 최백준은 M명의 승객을 태우는 것이 목표이다. 활동할 영역은 N*N 크기의 격자이다. 각 칸은 비어있거나 벽이 놓여있다. 상하좌우 인접 칸으로..
-
Entity와 DTO를 분리하자!프로젝트/게시판 프로젝트 2022. 5. 4. 00:55
클라이언트에서 정보를 받아오면 Member Entity를 그대로 사용하려고 하였습니다. 하지만 그렇게 되면 Controller 및 Service에 사용하게 될 로직들이 Entity의 속성 값과 의존관계를 맺게 됩니다. 하지만 Entity는 매우 중요한 객체로 사용범위도 크고 모든 데이터를 갖고 있는 객체이므로 Entity와 서비스가 의존관계를 갖게 하는 것은 유지보수 측면에서나 관리측면에서 매우 부적합합니다. DTO 객체는 View Layer와 데이터를 주고받을 때 사용합니다. Entity 객체는 DB Layer와 데이터를 주고받을 때 사용합니다. 실제로 Controller에서 결괏값으로 여러 테이블을 join 해서 줘야 할 경우가 빈번하기 때문에 Entity 클래스만으로 표현하기 어려운 경우도 많습니다..