목록모두 보기 (514)
기록방
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dJNO2D/btsGwBdOdCv/cQrK5dFxolPtQtBuyTUGyk/img.png)
최장 증가 부분 수열(LIS: Longest Increasing Subsequence)은 원소 n개의 배열의 일부 원소를 골라 만든 부분 수열 중, 각 원소가 이전 원소보다 크다는 조건을 만족하고 그 길이가 최대인 부분 수열을 말한다. ex) 수열 A = {10, 20, 10, 30, 20, 50} 의 경우 LIS = {10, 20, 30, 50} 이고, 길이는 4이다. LIS의 풀이 알고리즘은 대표적으로 DP와 이분 탐색이 있다. DP를 활용한 LIS 구현dp[ i ] = max( dp[ i ] , dp[ i - 1] + 1 )dp 배열에 각 인덱스의 원소를 포함 한 LIS의 최대 길이를 저장한다.(현재 인덱스의 앞쪽 dp 배열을 확인해 최대값 + 1. 혹은 현재 dp 배열 값 중 큰 것을 저장한다.)..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/thQ3H/btsGkTffKFn/m97OFSToBFDJb6nx13vGWk/img.png)
👉 문제링크 1005번: ACM Craft 첫째 줄에는 테스트케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다. 첫째 줄에 건물의 개수 N과 건물간의 건설순서 규칙의 총 개수 K이 주어진다. (건물의 번호는 1번부 www.acmicpc.net 🔸 문제 분석 🔸 앞선 건물들이 모두 지어져야 해당 건물을 지을 수 있게 되는 건물 순서 규칙이 존재한다. 건물은 동시에 여러 개를 지을 수 있다. 목표 건물을 짓는데 드는 최소 시간을 출력한다. 🔸 문제 풀이 🔸 건물이 지어지는 순서가 달라질 수 있는데 선행 작업이 존재하므로, 위상 정렬을 사용해서 풀이한다. 동시에 건물을 지었다고 할 때, 가장 오래 걸리는 건설 시간이 최소값이다. 따라서 최대값을 갱신해서 저장하기 위해 DP를 사용한다. 점..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkX9UJ/btsGewErUuh/ZZ9d5Jy2ZSwBiUPMlSUz81/img.png)
👉 문제링크 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 🔸 문제 분석 🔸 N x N 게임 판에서 2048을 수행한다. 5번 수행했을 때 최대값을 출력한다. 🔸 문제 풀이 🔸 2048게임 규칙에 따라 구현하면 되는 문제이다. 이동 방향에 따라 모든 칸의 숫자가 이동한다. 같은 숫자는 합쳐지고, 같은 회차에서 더이상 합쳐지지 않는다. 먼저 움직인 숫자가 먼저 합쳐진다. 최대값을 찾기위해 5회 게임 횟수의 모든 경우의 수를 확인한다. 풀이는 DFS로 탐색하였다. 🔸 코드 🔸 impo..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SJJn8/btsGeOxfRQK/c1t15rdjT3k4pXvO1f7LNk/img.png)
길벗 IT도서에서 주관하는 코딩 자율학습단 8기 : Spring Boot 파트에 참여한 기록입니다 [ 목록 ] 7.1 데이터 수정 과정 만들고 기존 데이터 불러오기에서 [Edit] 버튼 클릭요청 받은 컨트롤러는 해당 글의 id로 DB에서 데이터를 찾아 반환컨트롤러는 가져온 데이터를 뷰에서 사용할 수 있도록 모델에 등록모델에 등록된 데이터를 에서 보여주기데이터를 수정해 DB에 반영한 후 결과를 볼 수 있게 로 리다이렉트하기폼데이터(수정 요청 데이터)를 DTO에 담아 컨트롤러에서 받기DTO를 엔티티로 변환DB에서 기존 데이터를 수정 데이터로 갱신수정 데이터를 로 리다이렉트 7.2 만들기7.2.1 에 Edit 버튼 만들기Editarticle의 사용 범위를 {{#article}} {{/article}} 처럼 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Ebmza/btsGbzPkvnf/ZtgOJbbUTusfcBUgIm2iUK/img.png)
길벗 IT도서에서 주관하는 코딩 자율학습단 8기 : Spring Boot 파트에 참여한 기록입니다 [ 목록 ] 6.1 링크와 리다이렉트란목록 페이지(/articles)에 링크와 리다이렉트 기능을 이용해 페이지 이동 구현하기링크(link)란 정해 놓은 요청을 간편히 전송하는 기능으로 보통 페이지 이동에 사용HTML의 , 태그로 작성리다이렉트(redirect)란 현재 요청을 마치고 계속 처리할 다음 요청 주소를 재지시 하는 것분리된 기능을 연속적인 흐름으로 연결 가능6.2 링크와 리다이렉트를 이용해 페이지 연결하기6.2.1 새 글 작성 링크 만들기New Article6.2.2 → 돌아가기Back6.2.3 → 돌아가기 @PostMapping("/articles/create") public ..