전체 글
-
Spring Web MVC의 구성요소Spring 2021. 5. 3. 18:22
Spring MVC는 Model2 Architecture와 Front-Controller 패턴을 프레임워크 차원에서 제공하고 있다. 이는 기존 JSP/Servlet의 MVC 패턴에서 Model - View - Controller로 분할되었던 역할을 더 나누어 기존의 패턴과 약간의 차이가 있다. 스프링 프레임워크의 구성 요소들이 어떤 역할을 하는 지에 대해 알아보려고 한다. Spring MVC의 역할은 위의 그림과 같이 나눠지고, Spring Framework에 의해 추가되는 요소들은 Dispatcher Servlet(Front Servlet), HandlerMapping, ViewResolver이다. Controller와 View의 역할 자체는 이전과 같으나 이전에 Controller가 URI를 처리하고..
-
[BOJ]백준 20168/20182/20183번: 골목 대장 호석(기능성, 효율성)(C++)/Dijkstra, 이진탐색Problem Solving/BOJ(백준) 2021. 4. 21. 03:04
www.acmicpc.net/problem/20168 20168번: 골목 대장 호석 - 기능성 첫 줄에 교차로 개수 N, 골목 개수 M, 시작 교차로 번호 A, 도착 교차로 번호 B, 가진 돈 C 가 공백으로 구분되어 주어진다. 이어서 M 개의 줄에 걸쳐서 각 골목이 잇는 교차로 2개의 번호와, 골목의 www.acmicpc.net www.acmicpc.net/problem/20182 20182번: 골목 대장 호석 - 효율성 1 첫 줄에 교차로 개수 N, 골목 개수 M, 시작 교차로 번호 A, 도착 교차로 번호 B, 가진 돈 C 가 공백으로 구분되어 주어진다. 이어서 M 개의 줄에 걸쳐서 각 골목이 잇는 교차로 2개의 번호와, 골목의 www.acmicpc.net www.acmicpc.net/problem/..
-
[BOJ]백준 15961번: 회전초밥(C++/Java/Python)/Two PointerProblem Solving/BOJ(백준) 2021. 4. 18. 01:21
www.acmicpc.net/problem/15961 15961번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 3,000,000, 2 ≤ d ≤ 3,000, 2 www.acmicpc.net 오랜만에 풀어보는 투포인터 문제! 투포인터는 보통 최적의 해를 갖는 특정 구간을 찾아내는 문제에서 많이 사용한다 이 문제는 중복되지 않는 원소의 개수를 최대로 하는 k개의 연속된 구간을 찾아내는 문제이당 (+쿠폰 사용을 위해 쿠폰 번호 element 또한 포함되어 있는지 확인) 예제에서는 그림과 같이 [2, 7, 9, 25]에 보너스로 30까지 포함한 5가 정답이 된..
-
[BOJ]백준 17951번: 흩날리는 시험지 속에서 내 평점이 느껴진거야 / Parametric SearchProblem Solving/BOJ(백준) 2021. 4. 17. 15:40
www.acmicpc.net/problem/17951 17951번: 흩날리는 시험지 속에서 내 평점이 느껴진거야 시험지를 12, 7, 19, 20과 17, 14, 9, 10 으로 나누면 맞은 문제 개수의 합의 최소는 50이다. www.acmicpc.net 스터디할 때 풀었던 문제인데 왜 답이 right일까?를 고민하다가 이제 이유를 알아냈다 이진탐색 및 매개변수 탐색의 진행에는 loop-invarient라는 성질이 적용된다. loop를 지속하게 하는 절대적인 조건이므로, loop가 시작되기 전 & loop 중 & loop 이후에도 정해진 loop-invarient는 유지되어야 한다. 이 문제(parametric search)에서는 parameter를 "각각의 그룹에 속한 시험지 점수의 합 S 중 최소값을..
-
아파트 거래 정보 조회 시스템 Database Table 설계Etc 2021. 4. 17. 13:24
-- MySQL Workbench Forward Engineering SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; -- ----------------------------------------------------- -- Schema mydb -- ----------------------------------------------------- -- ------------------------..
-
Loop-Invariant in IterationAlgorithm 2021. 4. 16. 01:24
Loop Invariant(루프 불변량)은 프로그램 루프에서 모든 반복 시의 전후로 변하지 않는 성질을 의미한다. 이것은 반복문의 내용이 실행될 수록 원하는 결과값을 도출하는 과정을 이탈하지 않음을 보이는 특성이다. j = 10 for i in range(0, 10): j-=1 위와 같은 코드에서, loop 중에는 'i+j=10' 이라는 성질은 불변하고, 이것을 loop-invariant라고 볼 수 있다. loop-invariant는 코드가 작동하는 원리를 설명하는 특성이고, 이것이 명확하게 드러나지 않는다면 협업 시 다른 프로그래머가 이해할 수 있도록 도울 수 있는 코드를 작성해야 한다. 이것은 또한 변수간의 긴밀한 관계(루프 시 변하지 않는 성질)를 가지고 있는 iterative(반복) 알고리즘을 설..
-
[Java] Primitive Wrapper ClassProgramming/Java 2021. 4. 13. 20:49
Wrapper Class는 primitive data type을 캡슐화하는 클래스이며, 다른 클래스의 객체 인스턴스 및 메소드를 만들기 위해 사용한다. Primitive Data Type에 Object처럼 사용하기 위해 Class로 바인딩시키는 역할이라고 할 수 있다. 1️⃣ primitive type은 class의 generic으로 사용할 수 없고, 2️⃣Object의 하위 클래스를 요구하는 메소드가 있을 때 일반 primitive data type을 Wrapper class로 감싸서 사용한다. 일단 primitive data type을 이용하면 일정 단위의 데이터 저장을 위해 Array만을 이용할 수 있지만, 원시 데이터 타입을 wrapper class로 감싸면 java의 다양한 collection을..
-
[Programmers] 2021 KAKAO BLIND RECRUITMENT: 합승 택시 요금(C++) / FloydWashallProblem Solving/Programmers 2021. 4. 13. 04:48
programmers.co.kr/learn/courses/30/lessons/72413 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr 작년 카카오 공채 기출문제 출발지 S에서 목적지 A, B로 가는 최단거리를 계산하는 문제 라서 다..