자바

· Algorithm
문제온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오.입력첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000)둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다.출력첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나이가 같으면 가입한 순으로 한 줄에 한 명씩 나이와 이름을 공백으로 구분해 출력한다.예제입력321 J..
· Algorithm
문제666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다.종말의 수란 어떤 수에 6이 적어도 3개 이상 연속으로 들어가는 수를 말한다. 제일 작은 종말의 수는 666이고, 그 다음으로 큰 수는 1666, 2666,..
· Algorithm
백준 1181 단어정렬문제알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.길이가 짧은 것부터길이가 같으면 사전 순으로단, 중복된 단어는 하나만 남기고 제거해야 한다.입력첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.시간 제한 및 메모리 제한2초, 256MB문제 해결 키Arrays.sort(arr, new Comparator(){ @Override public int compare(String o1, String o2){ return 0; })코드package main..
· Spring
ModelAndView를 통한 뷰 선택과 모델을 전달해 보는 것에 대해 알아보겠습니다. ModelAndView를 통한 뷰 선택과 모델 전달ModelAndView를 사용하면 이 두 가지를 한 번에 처리할 수 있습니다. 요청 매핑 애노테이션을 적용한 메서드는 String 타입 대신 ModelAndView를 리턴할 수 있습니다.  @Controller@RequestMapping("/survey")public class SUrveyController{ @GetMapping public ModelAndView form() { List questions = createQuestions(); ModelAndView mav = new ModelAndView(); mav.addObject("questions", q..
· Spring
WebMvcConfigurer 인터페이스와 설정 @EnableWebMvc 어노테이션을 사용하면 @Controller 어노테이션을 붙인 컨트롤러를 위한 설정을 생성합니다. 또한, @EnableWebMvc 어노테이션을 사용하면 WebMvcConfigurer 타입의 빈을 사용해서 MVC 설정을 추가로 생성합니다. package config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.E..
· Spring
클라이언트와 핸들러 - 클라이언트의 요청을 실제로 처리하는 것은 컨트롤러 - DispatcherServlet은 클라이언트의 요청을 전달받는 창구역할 - DispatcherServlet은 클라이언트의 요청을 처리할 컨트롤러를 찾기 위해 HandlerMapping을 사용 컨트롤러를 찾아주는 객체는 ControllerMapping 타입이어야 할 것 같은데 실제는 HandlerMapping 스프링 MVC는 웹 요청을 처리할 수 있는 범용 프레임워크 - @Controller 어노테이션을 붙인 클래스를 이용해서 클라이언트 요청을 처리할 수 있지만, - 자신이 직접 만든 클래스를 이용해서 클라이언트의 요청을 처리할 수 있다. DispatcherServlet 입장에서 클라이언트 요청을 처리하는 객체의 타입이 반드시 @..
· Spring
이번 포스팅에서는 클라이언트의 요청을 알맞게 처리할 컨트롤러와 처리 결과를 보여줄 JSP 코드를 통해 실습해 보도록 하겠습니다. 컨트롤러 구현 package chap09; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class HelloController { @GetMapping("/hello") public String hello(Model mode..
· Spring
스프링 MVC를 실행하는데 필요한 최소 설정 - 스프링 MVC의 주요 설정 (HandlerMapping, ViewResolver 등) - 스프링의 DispatcherServlet 설정 스프링 MVC 설정 package config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config...
· Spring
스프링 MVC를 이용해서 웹 애플리케이션 개발을 할 수 있는데, 이번 시간에는 스프링 MVC에 대해서 알아봅시다. 웹 어플리케이션 개발을 위한 메이븐/그레이들 프로젝트는 웹을 위한 디렉터리 구조가 추가됩니다. 프로젝트를 생성했다면 그 하위에는 아래와 같이 폴더를 생성해 줍니다. - src/main/java - src/main/webapp - src/main/webapp/WEB-INF - src/main/webapp/WEB-INF/view webapp 폴더는 HTML, CSS, JS, JSP 등 웹 애플리케이션을 구현하는데 필요한 코드가 위치합니다. WEB-INF에는 web.xml 파일이 위치합니다. 서블릿 스펙에 따르면 WEB-INF 폴더의 하위 폴더로 lib 폴더와 classes 폴더를 생성하고 각각의..
· Spring
Tomcat JDBC의 주요 프로퍼티 Tomcat JDBC 모듈의 DataSource(org.apache.tomcat.jdbc.pool.DataSource) 클래스는 커넥션 풀 기능을 제공하는 DataSource 구현 클래스입니다. DataSource 클래스는 커넥션을 몇 개 만들지 지정할 수 있는 메서드를 제공합니다. setInitialSize(int) 커넥션 풀을 초기화 할때 생성할 초기 커넥션 개수 지정 기본값 : 10 setMaxActive(int) 커넥션 풀에서 가져올 수 있는 최대 커넥션 개수 지정 기본 값 : 100 setMaxIdle(int) 커넥션 풀에 유지할 수 있는 최대 커넥션 개수 지정 기본값 : maxActive setMinIdle(int) 커넥션 풀에 유지할 최소 커넥션 개수 지..