1. 문제 링크 https://www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net 2. 접근법 알파벳은 26 글자이므로 2^26으로 선택한 k개의 글자들을 표현할 수 있다. ex) a == 1 b == 10 z == 10000000000000000000000000 a, b, z를 선택했다면 == 10000000000000000000000011 이렇게 선택한 글자들을 비트 마스크로 표현하고, 입력받은 각 단어 또한 글자 중복을 제거하여 비트 마스크로 표현한..
1. Spring JDBC란? - JDBC 프로그래밍을 보면 반복되는 개발 요소가 있음 (드라이버 로드하고 Connection, Statement, ResultSet 객체 생성 등) - 이러한 JDBC의 모든 저수준 세부사항을 Spring이 처리해줌 개발자가 해야 할 일 Spring JDBC 패키지 org.springframework.jdbc.core - JdbcTemplate 및 관련 Helper 객체 제공 org.springframework.jdbc.datasource - DataSource를 쉽게 접근하기 위한 유틸 클래스, 트랜잭션매니저 및 다양한 DataSource 구현을 제공 org.springframework.jdbc.object - RDBMS 조회, 갱신, 저장 및 안전하고 재사용 가능한 ..
1. 문제 링크 https://www.acmicpc.net/problem/14442 14442번: 벽 부수고 이동하기 2 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 2. 접근법 일반적인 bfs와 다른 것은 벽을 부술 수 있다는 것 그렇다면 어디를 부쉈는지에 따라 visited 배열이 달라질 것이다. 부술 수 있는 최대 벽의 수 k는 1부터 10까지이므로, visited를 3차원 배열로 선언하여 k에 따른 방문 여부를 저장한다. visited[][][]를 3차원으로 선언한 것 외에는 특별한 점 없음 3. 코드..
1. Spring이란? - Spring Framework. JAVA 기반의 오픈소스 애플리케이션 프레임워크 - 원하는 부분만 가져다 사용할 수 있도록 모듈화가 잘 되어있음 - 가벼운 솔루션. 경량 컨테이너로 자바 객체를 담고 직접 관리함 - IoC (Inversion of Control), 제어의 역전. 객체의 생성부터 소멸까지 객체 생성주기 관리를 사용자가 아닌 특별한 객체에게 맡기는 것 - DI (Dependency Injection), 의존성 주입. 객체를 외부(Spring)에서 생성해서 사용하려는 주체 객체에 주입시키는 방식 - AOP (Aspect Oriented Programming), 관점 지향 프로그래밍. 여러 모듈에서 공통적으로 사용하는 기능을 분리하여 관리하고, 재사용성을 높여주는 프로..
1. Web API 실습 - SELECT * # 실행환경 설정 (Maven 프로젝트 생성 및 Tomcat 연동) [Servlet] Maven 프로젝트 Tomcat 연동 Servlet 실행하기 (Intellij) 0. 배경 - Intellij에서 Maven 프로젝트를 생성한 후, Tomcat을 연동해서 웹 개발 환경 구축하기 - JDBC와 MySQL 연동한 후, 콘솔에 레코드 출력해서 잘 연동되었는지 확인하기 - Servlet 생성해서 MySQL에서 레 ssoyeong.tistory.com # RolesServlet.java package webapiexam.api; import com.fasterxml.jackson.databind.ObjectMapper; import jdbcexam.dao.RoleDa..
1. JDBC란? 정의 - Java Database Connectivity - 자바를 이용한 데이터베이스 접속과 SQL 문장의 실행, 그리고 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 관한 규약 - 자바 프로그램 내에서 SQL문을 실행하기 위한 자바 API - 자바는 표준 인터페이스인 JDBC API를 제공 환경 구성 - JDK 설치 - JDBC 드라이버 설치 (Maven에 다음과 같은 의존성을 추가함) mysql mysql-connector-java 5.1.45 2. JDBC 사용 JDBC를 이용한 프로그래밍 방법 1. imort java.sql.*; 2. 드라이버를 로드함 3. Connection 객체를 생성함 (DB에 접속) 4. Statement 객체를 생성 및 질의 수행 5. ..
1. 네 가지 Scope - Application: 웹 애플리케이션이 시작되고 종료될 때까지 유지되는 경우 - Session: 웹 브라우저 별로 변수가 관리되는 경우 - Request: 하나의 HTTP 요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수가 유지되는 경우 - Page: 페이지 내에서 지역 변수처럼 사용 2. Page scope - PageContext 추상 클래스를 사용 - JSP 페이지에서 pageContext라는 내장 객체로 사용 가능 - forward 될 경우 해당 Page scope에 지정된 변수는 사용할 수 없음 (당연. 페이지 범위 내에서 유효하기에) - 마치 지역 변수처럼 사용됨 - JSP에서 pageScrope에 값을 저장한 후, 해당 값을 EL 표기법 등에서 사용할 ..