문제 정보는 아래 링크를 확인해주세요! [스티커 모으기(2)] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 첫 번째 생각해야할 것은 스티커를 선택하는 방법은 첫 번째를 선택하느냐, 선택하지 않느냐 이 두가지로 나뉜다. 두 번째는 현재 스티커와 현재-2 스티커를 선택했을 때의 결과와 인접 스티커를 선택했을 때의 결과중 최댓값을 구해준다. 이 방식은 DP 방식으로 푸는 것이 유리하므로, 점화식을 세우면 아래와 같다. DP[N] = MAX(DP[N-1], STICKER[N] +DP[N-2]); [소스 코드] package algorithm.p..
Java
문제 정보는 아래 링크를 확인해주세요! [배달] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 인접 마을에 대한 양방향 정보를 리스트에 담는다 DFS 탐색을 통해 인접 마을과의 거리를 구하면서 K값과 비교한다 무한루프에 빠지지 않도록 visited 배열을 통해 인접 방문 마을의 최솟값으로 셋팅한다 [소스코드] package algorithm.programmers; import java.util.*; /* * 2018 summer/winter conding * 배달 * */ public class Pro12978 { private stati..
문제 정보는 아래 링크를 확인해주세요! [쿠키 구입] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 쿠키 바구니를 나눠주는 방법은 쿠키 배열의 연속된 값들을 왼쪽/오른쪽으로 구간을 나눠서 비교하는 것과 같다 쿠키 배열의 왼쪽 첫 번째 요소부터 마지막-1번째 요소까지 dfs 탐색 DFS 탐색 시작 DFS 탐색은 첫 번째 요소와 두 번째 요소의 비교로 시작하면서 파라미터로 왼쪽/오른쪽 합계와 각각의 인덱스를 담는다 왼쪽 요소의 인덱스를 하나씩 줄여가며 구간합을 구하는 DFS 오른쪽 요소의 인덱스를 하나씩 늘려가며 구간합을 구하는 DFS 왼쪽 ..
자바의 컬렉션은 기존의 배열에서 처리하기 까다로웠던 데이터 처리를 위해서 만든 자바의 데이터 처리 집합이며 Java Collection Framework는 제일 상위 인터페이스인 Collection부터 하위 인터페이스의 구현을 통해 목적에 맞는 데이터 처리를 할 수 있게 해주는 기능을 제공한다. 아래는 Collection Framework의 기본 구성도이다. Collection 인터페이스에는 Set,List,Qeue 인터페이스를 포함하고 있고, Map은 Collection을 상속하진 않지만, Collection에 포함하고있다. Collection의 상세구조는 아래 그림과 같다. 1. Set 순서가 없는 데이터 집합이고, 중복을 허용하지 않는다. set은 따로 인덱스를 제공하지 않으므로 Iterator를 ..
기존에 jdbc+Mybatis를 통하여 개발 프로젝트를 만들다가 JPA를 공부하면서 까먹지 않기 위해 블로그에 기록해 놓았다. 우선 간략하게 JPA를 소개하면, JPA는 기존의 RDB 방식에서 벗어나 ORM을 통해 객체 지향적인 테이블 설계가 가능하고, 기존의 SQL Query가 아닌 method를 통해 직관적인 데이터 조작이 가능하다. JPA의 가장 큰 특징은 아무래도 기존에 데이터를 전달하는 목적(DTO,VO)으로 사용했던 Mybatis와는 달리 객체 지향의 장점(캡슐화,추상화,상속 등의 다형성)을 살릴 수 있다는 것이다. 지금은 환경설정에 대한 글이므로, 자세한건 다음번에 이론을 정리할 때 써야겠다.. - 우선 프로젝트를 새로 만든다면, [New] -> [spring starter project] ..
스프링 부트에서 hibernate 와 JPA 사용 도중 아래와 같은 에러 메세지가 발생. No default constructor for entity 알고보니 해당 Entity에 default constructor를 안만들어줬었다..
스프링 부트 2.1 버전부터는 Bean Override 기능이 불가능하다고한다. 나의 경우 인코딩 설정을 'UTF-8'로 설정을 해주려고 Bean을 등록하던 도중 아래와 같은 에러 코드가 발생하였다. The bean 'characterEncodingFilter', defined in class path resource 위와 같은 Bean 설정 오류가 발생하였을 때는 스프링 설정 파일 [.properties]에 아래와 같이 작성하자 spring.main.allow-bean-definition-overriding=true
이번 스프링 부트를 통한 MVC 설정은 JPA - MySql - Thymeleaf를 통해 만들었습니다. - [build.gradle]에 dependency 추가dependencies { //jpa,jdbc관련 dependency implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation("commons-dbcp:commons-dbcp:1.4") implementation("org.springframework.boot:spring-boot-starter-jdbc:2.0.1.RELEASE") i..