반응형

dp 3

[ 알고리즘 연습 ] 2747. 피보나치 수 _ JAVA

문제 풀이 이 풀이법은 「 JAVA 프로그래밍 면접 이렇게 준비한다 」 책을 통해 알게 되었습니다. 참고 자료 https://book.naver.com/bookdb/book_detail.nhn?bid=8655189 JAVA 프로그래밍 면접 이렇게 준비한다 자바 프로그래머의 성공적인 입사/이직을 돕기 위한 면접과 코딩 인터뷰 지침서. 1부는 면접 일반론과 자바 프로그래밍뿐만 아니라 프로그래머에게 꼭 필요한 기본 알고리즘이나 자료구조를 다룬다. 2부는 자바 언어의 기본과 테스트 코드 작성법, 가상머신의 이해 등 자바 핵심을 다룬다.3부는 자바 개발 환경과 관련된 컴포넌트와 프레임워크를 다룬다. 제티, 플레이 프레임워크, REST, 스프링, 하이버네이트, 안드로이드 등 현재 자바 개발 환경에서 많이 사용하는 ..

알고리즘 연습 2019.12.07

[ 백준_BOJ ] 1149. RGB거리 _ JAVA 문제풀이

문제 풀이 어렵지 않게 문제풀이 할 수 있었던 DP 문제입니다. 입력으로 0번째는 빨간색(R), 1번째는 초록(G), 2번째는 파랑(B)로 집을 칠하는 데 필요한 비용의 정보가 주어집니다. 인접한 이웃집에는 같은 색으로 칠할 수 없기 때문에 0번째 집으로부터 시작하여 DP를 이용하여 풀이하였습니다. 2중 for문을 이용하여 바깥 for문은 1부터 N-1까지 모든 집에 대해 최적의 값을 찾기 위해 써주었고 안쪽 for문은 0부터 2까지 집을 빨강, 초록, 파랑으로 색칠할 때의 비용을 구해주었습니다. ※ 문제의 해법은 바로 이전 집까지의 다른 색을 칠한 최소 값에 더해주어 현재의 집을 색칠하는 것입니다. 이를 계속 진행하면 N-1번째 줄에는 마지막 집을 빨강, 파랑, 초록으로 색칠할 때의 최소값이 구해질 것..

알고리즘 연습 2019.10.31

[ 백준_BOJ ] 14501. 퇴사 _ JAVA 문제풀이

문제 풀이 풀이에 대한 여러 방법을 고민해보았던 문제입니다. 처음에는 2차원 배열을 만들어 DP 방식으로 풀려고 했었는데 로직이 생각보다 간단하고 비교 연산이 많지 않아서 재귀를 이용해 풀이하였습니다. 일단 가장 많은 금액을 받기 위해 주어진 일수 동안 할 수 있는 모든 경우를 탐색하며 최적의 값을 찾았습니다. 재귀에서 idx변수는 0번 회의부터 마지막 회의까지 탐색하기 위한 인덱스입니다. 만약 idx번째 회의를 진행할 수 있다면 --> 현재 회의에 걸리는 일수가 N보다 작거나 같다면 ( = idx + T[idx]

알고리즘 연습 2019.10.31
반응형