전체 글

이전에 서블릿을 Controller로, JSP를 View 화면 렌더링용으로 사용하는 MVC 패턴을 도입했었다. [스프링 MVC 1편] (3) 서블릿, JSP, MVC 패턴1. 서블릿으로 회원 관리 웹 애플리케이션 만들기회원 관리 웹 애플리케이션 요구사항이번 섹션에선 회원 정보(이름, 나이)를 저장하고 조회하는 비즈니스 로직을 가진 웹 애플리케이션을 간단dev-meung.tistory.com 이번 섹션에선 MVC 패턴을 사용하면서 발생하는 문제점을 개선한 MVC 프레임워크를 서블릿을 통해 차근차근 만들어 볼 예정이다. 단계별로 프레임워크를 만들고 나면 나중에 스프링 MVC의 구조를 이해하는 데 훨씬 도움이 된다. 1. 프론트 컨트롤러 패턴 소개프론트 컨트롤러를 도입하기 전엔 요청이 올 때마다 각각 공통 로..
· 백준
https://www.acmicpc.net/problem/13702은상은 막걸리 N 주전자를 주문하고, 자신을 포함한 친구들 K명에게 막걸리를 똑같은 양으로 나눠주려고 한다. 이때 막걸리마다 용량이 다를 수 있다. 한 번 주문한 막걸리에 남은 것을 모아서 친구들에게 다시 주는 경우는 없다. K명에게 최대한의 많은 양의 막걸리를 분배할 수 있는 용량은 몇 ml인지 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한0 ≤ N ≤ 10,0000 ≤ K ≤ 1,000,0000 ≤..
· 백준
https://www.acmicpc.net/problem/25418입력으로 양의 정수 A와 K가 주어지면, 아래 연산을 이용하여 A를 K로 변경하려고 한다. 정수 A를 변경할 때 사용할 수 있는 연산 종류는 아래와 같다.연산 1: 정수 A에 1을 더한다.연산 2: 정수 A에 2를 곱한다.정수 A를 정수 K로 만들기 위해 필요한 최소 연산 횟수를 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한1 ≤ A  1697 - 숨바꼭질과 비슷한 문제다. 최소 방문 횟수를 저장할 방..
· 백준
https://www.acmicpc.net/problem/2467각 용액엔 그 용액의 특성을 나타내는 하나의 정수가 주어져 있다. 산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 같은 양의 두 용액을 혼합한 용액의 특성값은 혼합에 사용된 각 용액의 특성값의 합으로 정의된다. 이 연구소에서는 같은 양의 두 용액을 혼합해 특성값이 0에 가장 가까운 용액을 만들려고 한다. 참고로, 두 종류의 알칼리성 용액만으로나 혹은 두 종류의 산성 용액만으로 특성값이 0에 가장 가까운 혼합 용액을 만드는 경우도 존재할 수 있다. N개의 산성 용액과 알칼리성 용액의 특성값이 정렬된 순서로 주어졌을 때, ..
· 백준
https://www.acmicpc.net/problem/1477다솜이는 고속도로에 휴게소 N개를 갖고 있는데, 휴게소의 위치는 고속도로의 시작으로부터 얼만큼 떨어져 있는지로 주어진다. 다솜이는 휴게소 M개를 더 세워서 휴게소가 없는 구간의 길이의 최댓값을 최소로 하려고 한다. 조건은 아래와 같다.다솜이는 이 고속도로를 이용할 때, 모든 휴게소를 방문한다.고속도로의 끝에도 휴게소를 세울 수 없고, 휴게소는 정수 위치에만 세울 수 있다.반드시 M개의 휴게소를 모두 지어야 한다.휴게소에 대한 정보가 주어질 때, M개의 휴게소를 짓고 난 후 휴게소가 없는 구간의 최댓값의 최솟값을 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현..
· 백준
https://www.acmicpc.net/problem/2805상근이가 목재절단기로 나무를 잘라 나무 M미터를 구하려고 한다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 음이 아닌 정수 높이 H를 지정해야 한다. 높이가 H보다 큰 나무는 H 윗 부분이 잘리게 되고, 낮은 나무는 잘리지 않는다. 이때, 적어도 M미터의 나무를 집에 가져가기 위해 절단기에 설정할 수 있는 높이의 최댓값을 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한1 ≤ N ≤ 1,0..
· 백준
https://www.acmicpc.net/problem/11663일차원 좌표상의 점 N개와 선분 M개가 주어진다. 이때, 각각의 선분 위에 입력으로 주어진 점이 몇 개 있는지 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한1 ≤ N, M ≤ 100,0001 ≤ 입력으로 주어지는 모든 좌표 ≤ 1,000,000,000 아래 링크에 적어둔 upper_bound()와 lower_bound()를 사용해 답을 구할 수 있다. 해당 함수들을 사용하려면 탐색 대상이 되는 배열을 ..
· 백준
https://www.acmicpc.net/problem/17266굴다리의 모든 길 0~N을 밝히게 가로등을 설치하려고 한다. 가로등을 설치할 개수 M과 각 가로등의 위치 x들은 정해져있다. 가로등의 높이가 H라면 왼쪽으로 H, 오른쪽으로 H만큼 주위를 비춘다.가로등의 높이가 모두 같고 최소한의 높이로 굴다리의 모든 길 0~N을 밝히고자 할 때, 가로등의 최소 높이를 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한1 ≤ N ≤ 100,0001 ≤ M ≤ N0 ≤ x ≤..
dev-meung
IT::Coding