[Java/프로그래머스/탐욕법] Level 2 : 구명 보트
문제 programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 처음 생각했던 방법(걍 틀림) 우선순위 큐에 넣어서 작은 것들부터 묶으려고 했다. 하지만 이 경우 people = {30, 40, 60, 70}, limit=100 일 때 (30,40) / 60 / 70 으로 3이 리턴된다. 옳은 답은 (70,30) / (60, 40) 으로 2가 리턴되어야 한다. 두번째로 생각한 방법 ( 효율성 테스트: 실패(..
2020. 11. 10.
[Java/프로그래머스/DFS] 여행경로
문제 programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]] [ICN, ATL, ICN, SFO, ATL, SFO] programmers.co.kr 코드 처음엔 인접하는 공항들을 전부 adjacent에 넣어야 하는데 어떻게 해야할까 끙끙댔다. 다행히 tickets는 양방향이 아닌 순서가 있는 것이라, dfs함수의 if문에서 조건을 걸러낼 수 있었다. import java.util.ArrayList; import java.util.Collections; public class Solution { boolean[] visited; //방문한지..
2020. 11. 5.