본문 바로가기

728x90

완전탐색

[백준] 2589 보물섬 / 자바(Java) 문제 https://www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net 해설 BFS를 사용하면 될 듯한 문제입니다. 단 문제의 조건에서 최단거리 중 가장 먼 곳의 거리를 구해야합니다. 다행히 각 섬별로가 아닌 단 한 가지 경우만 찾으면 되므로 2차원 배열에 지도 정보를 넣고 각 땅 별로 BFS를 통해 갈 수 있는 최대 거리를 구해 각각을 비교하는 방식으로 해결할 수 있는 BFS의 기본을 익힐 수 있는 문제였습니다. 코드 import java.io.BufferedRe.. 더보기
[프로그래머스] 이모티콘 할인행사 / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 문제를 읽다보면 확실히 해야하는 부분이 있습니다. 1. 이모티콘 플러스의 구매 여부는 각 사용자의 예산 한도를 넘기는 경우이다 -> 사용자를 기준으로 최종 구매 연산을 하며 모든 사용자는 각 이모티콘별로 동일한 할인율을 가져야 한다. -> 할인율들이 정해진 후 최종 구매연산이 가능하다. 2. 할인율은 10, 20, 30, 40% 로 이루어진다 -> 각 이모티콘별로 4가지의 가능성이 있.. 더보기
[프로그래머스] 피로도 / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 각 던전을 확인하는데 소모 피로도와 현재 피로도의 차이, 최소 필요 피로도 2가지를 비교해야하기 때문에 완전탐색으로 모두 확인해보아야 합니다. 따라서 완전 탐색 중 dfs를 이용해서 해결했습니다. 방문여부를 확인할 배열 visited[], 가장 많이 돈 던전 수를 확인할 answer를 외부에 저장해 줍니다. 이후 dfs를 구성해 줍니다. public void dfs(int count, .. 더보기

728x90