전체 글

배운 것에 대한 내 생각을 가지고 정리하자
문제 정보는 아래 링크를 확인해주세요! [배달] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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
자바의 컬렉션은 기존의 배열에서 처리하기 까다로웠던 데이터 처리를 위해서 만든 자바의 데이터 처리 집합이며 Java Collection Framework는 제일 상위 인터페이스인 Collection부터 하위 인터페이스의 구현을 통해 목적에 맞는 데이터 처리를 할 수 있게 해주는 기능을 제공한다. 아래는 Collection Framework의 기본 구성도이다. Collection 인터페이스에는 Set,List,Qeue 인터페이스를 포함하고 있고, Map은 Collection을 상속하진 않지만, Collection에 포함하고있다. Collection의 상세구조는 아래 그림과 같다. 1. Set 순서가 없는 데이터 집합이고, 중복을 허용하지 않는다. set은 따로 인덱스를 제공하지 않으므로 Iterator를 ..
문제 정보는 아래 링크를 확인해주세요! [지형 이동] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 - 현재 지형과의 차이가 height 이하인 연결된 지형들을 구역으로 그룹화 - 각 칸의 상,하,좌,우로 연결이 안된 지형들과의 차이를 리스트에 담는다. - 지형들간의 차이가 담겨있는 리스트를 지형 차이-현재-다음 구역 순으로 정렬 - 지형 차이가 최소인 값부터 두 지형의 구역을 하나로 만들어준다. - 해당 최소 값은 결과 값에 추가한다. - MST에 대한 지식이 있다면, 문제 접근이 빠를 것이다. [소스코드] import java.util..
문제 정보는 아래 링크 확인 부탁드립니다! [불량 사용자] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 - 불량 사용자 배열을 정규 표현식으로 변환 - DFS를 순환 - 문제 정보는 아래 링크 확인 부탁드립니다! [불량 사용자] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 - 불량 사용자 배열을 정규 표현식으로 변환 - DFS를 순환(불량 사용자 인덱스, 일치하는 응모자..
하나의 스프링 부트 프로젝트에서 스프링 시큐리티와 OAuth2.0의 http필터를 적용하던 도중 스프링 시큐리티의 http 필터가 적용되지 않는 상황이 발생했다. [Spring Security Config 파일] [Resource Server config 파일] Resource Server를 구축하기 전에는 잘 동작했었던 Security와 autherization 과정이 Resource Server를 구축하고 나서 Security의 필터가 작동되지 않는 상황이었다. 여기저기 찾아보던 도중 스프링 공식 문서에 다음과 같은 안내문을 찾았다. 문제의 원인은 Resorce Server의 필터와 Security의 필터는 두 군데 등록한다고 해서 두개의 필터가 모두 동작하는 것이 아니라 동작 순서가 우선인 필터가 ..
· 알고리즘
문제 정보는 아래 링크를 확인해주세요! [징검다리 건너기] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근방법 - 나니즈 친구들이 최대로 징검다리를 건널 수 있는 경우는 처음 징검다리부터 k개의 연속된 징검다리 집합 {1~k} 두번째 징검다리부터 k개의 연속된 징검다리 집합 {2~k} n-k번째 징검다리부터 k개의 연속된 징검다리 집합 {n-k~k}가 있고, - 이 집합 안에서 최댓값을 구해주고, 집합의 최댓값과 다른 집합의 최댓값을 비교해서 최솟값을 구해주는 것이 문제 접근 방법이다. - k개의 징검다리를 건널 수 있기 때문에 건널 수 있는 징..
· 알고리즘
문제 정보는 아래 링크를 확인해주세요! [호텔 방 배정] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 문제를 풀었을 때는 효율성 테스트라는 것을 인지하고 다음과 같이 접근했었다. - 등록된 룸 넘버를 저장할 객체인 HashSet과 - 등록되지 않은 룸 넘버를 저장할 객체인 ArrayList(k만큼의 번호를 초기화) - HashSet을 검사해서 포함되어 있다면, ArrayList에서 해당 룸 넘버 다음 인덱스를 결과 값에 넣어주고 - 포함되어있지 않다면, 해당 룸 넘버를 ArrayList에서 지워주고 결과 값에 넣어준다. - ArrayList에서 해..
iron_jin
學而不思則罔(학이불사즉망)