목록분류 전체보기 (255)
-
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lkvgF/btro318Osnt/g2ZLUytnWWPnQWYm6nOQGk/img.png)
# 주소 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 두 가지로 풀었습니다. 처음엔 백트래킹이 시간이 더 절약될 줄 알고 백트래킹으로 풀었다가 예제 문제 정답은 맞는데 시간초과가 떠서 DP로 풀어야 했습니다. import java.util.*; public class Main{ static int sum = 0; static int n,m..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pUgYf/btroQcKtXEr/PB6fbKPIDzKOjAGzKmgzRk/img.png)
이제부터 실습에 들어가보려 합니다. 그래서 몇 가지 고객의 정리된 요구사항을 보며 어떻게 개발을 할지 생각해봅시다. 회원 도메인과 레포지토리 만들기 회원 레포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 비즈니스 요구사항은 가장 쉬운거로 해볼 것입니다. 데이터 : 회원 ID, 이름 기능 : 회원 등록, 회원 조회 만으로 해보겠습니다. 저희는 아직 데이터 저장소를 선정하지 않았다고 해봅시다. 성능이 중요한 DB를 쓸지, 아니면 관계형 데이터베이스인 RDBMS로 할지를 안정해져있는데 개발을 해야한다면 어떻게 할지를 특정합니다. 일반적으로 웹 애플리케이션의 계층 구조는 다음과 같습니다. 그림에서 등장하는 컨트롤러는 웹 MVC와 컨트롤러의 역할을 합니다. 지금까지 쭉 다뤄왔던 내용입니다. 서비..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/U4wMw/btroJ0JArhV/9TaGoTjrLSDej8mxaYQ5jK/img.png)
# 주소 https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.io.*; import java.util.*; public class Main { static int n, m,k; static long[] arr; static int count; public static void main(String[] args) throws IOEx..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pr6PO/btroDI2YA85/nre7orUwst04pw0yxvljPK/img.png)
이번 시간엔 스프링 웹 개발에서 이야기 하는 API방식에 대해 다뤄보겠습니다. 이전에 봤던 MVC방식에서 봤던 VIEW를 찾아서 템플릿 엔진을 통해서 화면을 렌더링해서 HTML을 브라우저에 넘겨주는 방법이 있고 그 다음에 API를 쓰는 방식이 있습니다. 결론적으로 정적컨텐츠를 제외하면 2가지만 기억하시면 되겠습니다. 하나는 HTML로 내리던지, 아니면 API방식으로 데이터를 내리는지로 구분할 수 있겠습니다. 자 직접 보면서 이해해보겠습니다. 예전처럼 Controller에 다음과 같이 입력해보겠습니다. 여전히 GetMapping에 들어갈 내용은 메서드와 동일해야하며 -로 구분한 부분의 뒤는 대문자로 입력해주셔야 합니다. 그리고 RequestParam은 저번 시간에도 설명했듯이 RequestParameter..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9G5JU/btroFVtJUKC/svbonPWXor06ulKqhinxBK/img.png)
# 주소 https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.*; public class Main { static int n, m; static int dx[] = {1, 0, 0, -1}; static int dy[] = {0, 1, -1, 0}; static boolean[][] visit; static int arr[][]; static int melt[][]; stat..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yekUK/btrox1O1M2g/pNaRAAu4NM3hBdVIYVHGc1/img.png)
# 주소 https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.awt.*; import java.util.*; public class Main { static int n,m; static int dx[] = {1,0,0,-1}; static int dy[] = {0,1,-1,0}; static int[][] visit; static int arr[][]; static int count = 0; p..