문제에 대한 정보는 아래 링크 확인 부탁드립니다! [크레인 인형뽑기 게임] 문제 접근 방법 - 칸마다 가장 위에 있는 인형이 있는 행의 위치를 배열로 저장 - 크레인 작동마다 인형을 뽑아 스택에 쌓아 둔다. - 여기서 크레인으로 뽑은 인형이 스택의 맨 위에 있는 인형과 비교 후 결과 값에 추가 - 뽑은 인형 자리는 0으로 만들어준다. - 위 두 과정을 반복 코드 package algorithm.programmers; import java.util.*; /* * 프로그래머스 2019 카카오 개발자 겨울 인턴십 * 크레인 인형 뽑기 문제 * */ public class Pro64061 { private static int[][] board; public static int findMaxRow(int move..
전체
문제에 대한 정보는 아래 링크에서 확인 부탁드립니다. [튜플 문제정보] 문제에 대한 접근 방법 - 튜플 정보들은 이중 중괄호와 콤마로 구분된 '문자열'이다. - 튜플은 '순서'가 정해져있고, '중복이 없는' 집합이다. - 튜플의 순서를 알 수 있는 방법은 튜플 집합 중 사이즈가 작은 순으로 정렬한 후 이전 튜플의 요소를 제거하면서 진행하는 방법이다. 예를 들어, "{{2},{2,1},{2,1,3},{2,1,3,4}}"와 같은 요청이 들어왔을 때, 튜플의 가장 작은 사이즈인 {2}부터 {2,1} 순으로 정렬을 한 후 {2}의 요소를 {2,1}에서 제거하고, {2,1,3}에서 {2,1}의 요소를 제거하는 식으로 진행했다. 제거한 요소들은 리스트에 넣고, 마지막에 배열로 변환하여 리턴하면 끝! package ..
스프링을 공부하다가 우연히 @RequestBody와 @ModelAttribute를 통해 값을 바인딩할 때 오류를 겪는 상황을 발견하고, 평소 Class 바인딩은 자연스럽게 @ModelAttribute로, Json과 같은 타입은 자연스럽게 @RequestBody로 작성했었던, 아무 생각 없이 스프링을 공부했던 나 자신을 돌아보며 오늘 글을 작성하려한다. 이를 이해하기 위해서는 우선 HTTP Message에 대한 이해가 필요하다. HTTP Message는 우리가 어떤 요청을 보내거나 요청에 대한 응답을 보낼 때, 서버와 클라이언트가 서로 데이터를 교환하는 방식이다. 데이터를 요청할 때 부르는 용어인 Rquest에는 서버가 특정 동작을 수행하도록 하는 메시지를 담고 있고, 총 4개의 섹션으로 구분하고 있는데 ..
거의 일주일이 다되가지만, 지난주에 봤던 프로그래머스의 Dev-Matching 코딩테스트를 늦게나마 리뷰한다... 우선 나는 지난주 프로그래머스에서 진행한 백엔드 개발자 매칭 시스템에 참가하였다. 취준생인 나는 요즘 기업들의 수시 채용도 많아지고 있고, 코로나 때문에 채용 프로세스도 길어짐에따라 삶에 무료함을 느끼고 있던 도중 새로운 도전의 기쁨을 느꼈던? 이벤트였다 이번 프로그래머스의 매칭 이벤트는 신입과 경력 모두를 대상으로 진행을 했다.(개인적인 신입 취준생 입장으로는 신입과 경력이 같이 경쟁하는 것에는 약간 의아했다.) 채용 지원자격은 아래와 같다. 나 또한 그동안 프로그래머스 사이트를 통해 많은 준비를 한 만큼 참가를 했었고, 총 4문제 중에 3문제 모든 케이스를 통과 했었고, 1문제는 시간적인..
카카오 지도를 사용하여 폴리곤을 만드는 경우에 보통 시/군/구로 나누어서 작업을 하는 경우가 많다 우선 기본적으로 카카오 지도를 사용하여 폴리곤 지역을 사용하는 방법은 아래 링크로 이동! 카카오지도 sample 이 소스를 응용하여 서울 시/군/구로 폴리곤을 형성하려한다. - 우선 폴리곤을 만들기 위해서는 폴리곤 지역을 연결해줄 좌표가 필요하다. 하지만, 좌표를 일일이 구하기에는 노가다 작업이 필요... 하지만! 요즘 시대에 이런 자료는 찾아보면 있다. 아래 사이트에서 자신의 프로젝트에 필요한 행정구역 shp파일을 다운받자 대한민국 최신 행정구역 - 다운을 받고 나면, 다운 받은 경로를 가서 [SIG~]이러한 폴더를 열어보자. 그러면 아래와 같은 파일들이 있을 것이다. - 지금 현재 shp 파일은 전국을 ..
기존에 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