dfs
-
[프로그래머스] 마법의 엘리베이터 자바 (Level 2) DFS 완전탐색코딩테스트 2025. 5. 2. 22:43
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/1486531. 문제 요약주어진 층수 storey를 10의 n제곱값을 더하거나 빼서 0을 만든다.storey를 0으로 만드는데 필요한 최소 횟수를 구한다.2. 핵심 아이디어DFS 방식으로 0까지 차감 or -부터 0까지 증가하는 두 가지방식으로 탐색 및 비교하기.3. 풀이 코드/** * @param storey : 현재 층 * @return 0층까지 가기위한 최소 횟수 */ int minValue = Integer.MAX_VALUE; //버튼 누르면 현재 층 + 10^n (n 은 정수) 로 이동. 결과값 minValue) return; if(s..
-
[프로그래머스] 이모티콘 할인행사 자바 (Level 2) DFS코딩테스트 2025. 5. 1. 12:57
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/1503681. 문제 요약이모티콘 플러스 가입자수를 늘리고 이모티콘 판매액을 최대한으로 달성할 수 있는이모티콘별 최적의 할인율을 구하여 산출된 [이모티콘 플러스 가입자수, 이모티콘 판매액]을 구하시오.할인율은 10%단위로 10% ~ 40% 까지 적용할 수 있음2. 핵심 아이디어DFS로 할인율 조합 4ⁿ개 생성 (n: 이모티콘 개수)각 조합마다 사용자 반응을 시뮬레이션가입자 수, 판매액 기준으로 최적 결과 저장3. 풀이 코드/** * 할인률 : 10~ 40% (단위:10 %) * @param users [구매기준%, 가격기준] * @param emoticons [이모티콘..
-
[프로그래머스 level2] 광물 캐기 자바 DFS / greedy 방식코딩테스트 2025. 4. 20. 10:09
https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제@param picks [dia , iron, stone] 종류별 곡괭이 수@param minerals [diamond, iron, stone] 으로 구성된 배열.@return 채굴완료에 필요한 최소 피로도접근 & 피드백어떤 곡괭이를 차용하느냐에 따라 피로도가 다름. 곡괭이 순서를 조합하여 최소값을 구해야 하므로DFS방식이나 GREEDY 정렬 방식을 사용할 수 있다고 한다. 1. DFS방식// 1. picks = {dia, iron, sto..
-
[프로그래머스 level2] 도넛과 막대 그래프 자바 DFS (Map, Set)코딩테스트 2025. 4. 15. 09:53
https://school.programmers.co.kr/learn/courses/30/lessons/258711 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제각 정점별로 번호가 주어져 있고, 도형은 도넛과 막대, 8자 3가지가 존재한다.주어진 정점 목록 edges를 참조하여최초 출발 정점과 각 도형의 갯수를 구하여라.참고사항edges : 정점들 [a,b] 형태이며, a번 정점에서 b번 정점으로 향하는 간선이 있다는 것을 나타냅니다.도넛 : edge == node막대 : edge == node -18자 : else접근edges를 정리하고 생성된 정점을 찾는 부분부터 막힘피드백1. inDegree..