분류 전체보기
-
[백준 2580] - [백트래킹] - 스도쿠알고리즘/백트래킹 2018. 12. 21. 17:58
문제링크 : https://www.acmicpc.net/problem/2580 이문제는 백트래킹으로 접근 할 수 있는 문제이다. 예전에 풀었던 N-Queen 문제도 백트래킹이었는데 간단하게 설명하자면 현재 인덱스에 값을 넣어보고 다음 탐색을 돌린다. 다시 현재 인덱스에는 값을 초기화 시킨다. arr[y][x] = i; backtracking(idx+1, cnt+1); arr[y][x] = 0; 위에 소스처럼 백트래킹을 진행하는데 이렇게 하면 결국엔 다 초기화 되는거 아냐?? 하겠지만 잘 생각해보면 그렇지 않다. 최종 arr의 값은 당연히 초기 탐색할때의 값이 되겠지만 탐색을 하는 도중에 맞는 결과가 나왔을거고 맞는 결과가 나왔을때 배열을 바로 출력을 했다. 이해가 안된다면 백트래킹에 대한 설명 N-Que..
-
Spring REST API 프로젝트 공부 - 01Java/Spring 2018. 12. 21. 14:24
이번 글은 제대로된 Spring REST API 프로젝트를 생성하고 구현해 가면서 공부한 내용들을 전부 정리할 예정이다. 직접 공부한 내용을 기록하면서 잊지않고 지속적으로 복습해가면서 스킬업을 해야겠다. 공부를 시작하기에 앞서 개발 환경은 다음과 같다.OS Mac OsIDEIntelliJJAVA버전 8DatabaseH2PostgreSQL 수강하고 있는 강좌에서 IntelliJ를 IDE로 사용하기에 다운받아 사용하기로 했다. 운좋게 대학교 때 사용하던 학생 계정이 있어서 대학교 이메일로 인증을 했다. 학생계정을 인증하면 1년동안 Ultimate 버전을 사용할 수 있다. - 프로젝스 생성 1. IntelliJ 를 실행하고 [Create New Project] 로 새 프로젝트를 생성한다. IntelliJ Ul..
-
[백준 5427] - [BFS 최단거리] - 불 (JAVA)알고리즘/BFS_DFS 2018. 12. 20. 13:57
문제링크 : https://www.acmicpc.net/problem/5427 이 문제는 BFS를 가지고 풀면 되는데 좌표정보를 갖는 queue를 2개를 사용해야 한다. queue1은 불의 좌표를 저장하는 queue로 사용하고queue2는 사람의 좌표를 저장하는 queue로 사용한다. 입력 값이 숫자가 아닌 # * . @ 형식의 char 타입 데이터 이기 떄문에 나는 이 char를 custom 해서 int 형의 값으로 변경했다. # --> -1* --> -2. --> 0@ --> 1 방문 정보를 저장할 visited 배열을 사용하기 싫어서 빈 공간은 0으로 두고 사람이 움직일때 좌표의 값이 0인 위치만 이동하게 소스를 작성했다. 복잡하다면 char형의 이차원 배열과 visited 배열을 두개 생성하고 문..
-
[백준 1697] - [bfs] - 숨바꼭질알고리즘/BFS_DFS 2018. 12. 19. 21:06
문제 링크 : https://www.acmicpc.net/problem/1697 이 문제 힌트에 백트래킹으로 돼 있어서 백트래킹으로 풀었다가 후회하고 제일 간단한 단순 bfs로 풀었다. 분명 백트래킹으로 풀 수 있는 문제긴 하다. 하지만 쉽게 풀 수 있는 방식이 있었기에 이번에는 쉬운 방식으로 풀려고 한다. 간단하게 생각해서 1회전에 방문하는 위치 는 n-1, n+1, n*2가 되고 i번 만큼 반복하면서 목표 위치에도달했을때의 반복 횟수를 리턴해주면 된다. 소스123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import java.util.LinkedList;import java.util...
-
[백준 1012] - [dfs] - 유기농 배추 (JAVA)알고리즘/BFS_DFS 2018. 12. 19. 17:00
문제 링크 : https://www.acmicpc.net/problem/1012 이 문제는 DFS 간단하게 풀 수 있는 문제이다. 다만 주의해야 할 부분이 있는데 제한시간은 1초인데 여러개의 테스트 케이스가 주어지니 제한시간내에 모든 테스트 게이스를 풀기 위해선 불필요한 좌표까지 dfs로 접근할 필요가 없다. 배추의 좌표를 정수형 배열 타입의 큐에 저장한다. 모든 입력이 완료되고 queue가 빌때까지 queue에서 하나씩 추출해가면서 dfs를 돌린다. queue에 있는 좌표는 부조건 배추가 심어저 있는 좌표이다. 추출된 좌표가 이전에 방문한 이력이 없는 경우만 dfs 탐색을 한다. 위에 나열한 순서와 조건으로 DFS 탐색을 시도하면 문제는 아주 쉽게 풀린다. 모든 좌표에 방문여부와 배추가 심어진 좌표인지..
-
Spring MVC 기본 설정 02 - Annotation을 이용한 Spring mvc ConfigJava/Spring 2018. 12. 19. 14:35
Spring mvc 프로젝트를 구성할때 제일 많이 사용하는 설정 방식은 xml을 이용한 방식이다. xml을 이용하는 방식은 널리 퍼져있어서 검색하기에는 좋지만 내가 보기엔 가독성이 떨어지고 이해하기가 힘든 구석이 있어보인다. java annotation을 이용해 spring mvc 를 설정하는 방식을 공부하고 적용해가면서 기록을 남기려고 한다. 기본적인 dependency는 이전글(클릭) 에서 추가했다는 가정하에 진행하고자 한다. 모든 config 관련 class들은 {기본 패키기}.config 라는 패키지에 생성하도록 한다. 1. WebMvcConfig 설정 WebMvcConfig 클래스는 기본적인 서블릿 설정을 하는 클래스라고 생각하면 된다. ViewResolver 설정을 여기서 할 수있다. @Con..
-
Spring MVC 기본 설정 01 - 기본적인 pom.xml dependency 목록Java/Spring 2018. 12. 19. 12:35
이번 글에서는 Spring MVC 프로젝트를 생성할 때 사용되는 dependency들의 목록들을 나열할 예정이다. 이 글은 추가적으로 계속 업데이트를 하면서 초기 프로젝트 셋팅을 할때 시간을 단축 시기 위해서 작성하는 글이다. 아래 나열한 dependency들을 추가할 예정이다. Dependency 목록 Spring-webmvc : Spring mvc 프로젝트를 하기위해선 추가해야할 기본적인 dependency이다. spring-tx : spring transaction을 사용하기위한 dependency이다. spring-orm : jpa를 사용하고자 할때 추가해야하는 dependency이다. hibernate-core : jpa를 사용하고 hibernate를 사용하고자 할때 추가하는 dependency..
-
Spring Boot 로 만드는 Upload와 Download Rest API - JPA - Hibernate 연결하기Java/Spring 2018. 12. 18. 17:40
이번글은 Spring Boot로 파일 업로드와 다운로드를 구현한 예제 프로젝트에 JPA - Hibernate를 연결해서 DB에 저장하고 읽어 오늘 거까지 해볼 예정이다. 가장 기본적인 설정으로 진행을 했고 추가적인 설정을 하기 위해서 백방으로 삽질을 해봤지만 좀더 공부를 해가면서 파악해봐야겠다. 바로 진행하겠다. 1. Dependency 추가 먼저 JPA Hibernate를 사용하기 위해서는 Dependency를 추가주어야 한다. 추가해야할 Dependency는 다음과 같다.spring-boot-starter-data-jpa spring-boot-starter-jdbcmysql-connector-javaHibernate를 직접 의존성을 추가하고자 한다면 spring-boot-start-data-jpa, ..