dfs

문제 접근 https://school.programmers.co.kr/learn/courses/15008/lessons/121684 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 최대 학생수가 10명이고 종목수도 최대 10개까지이므로 모든 경우를 탐색한다고하면 첫번 째 종목에서 10명중 1명을 선택하고 두번 째 종목에서 9명중 1명을 선택하고 ... 즉, O(10!)이므로 시간 초과없이 모든 능력치의 합이 최대인 구간을 구할 수 있다. 그래서 바로 완전 탐색으로 문제에 접근하였다. 문제 풀이 위에서 말한대로 각 종목당 현재 고를 수 있는 인원들 각각에 대해 모든 경우를 확인하며 종목들의 모든 인원이 채워졌을 때..
문제 접근 https://school.programmers.co.kr/learn/courses/30/lessons/92345 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이길 수 있는 경우 최소의 턴으로 이기는 방향으로 가고 이길 수 없는 경우 최대한 오래 버틸 수 있게 하라는게 이해가 안되서 정말 어려웠던 문제였다. 이런 경우를 미니맥스 알고리즘이라고 한다는데 이런 구체적인 정보없이도 5x5 board판이므로 모든 경우를 탐색해본다는 생각을 갖고 접근한다면 똑같이 풀 수 있다. 문제 풀이 상하좌우로 움직일 수 있고 map을 벗어날 수 없으며 발판이 있는 곳으로만 이동할 수 있다는 내용을 보자마자 가장 먼..
문제 접근 https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 처음에는 문제를 보고 든 생각은 최대 17개의 노드이므로 모든 경우를 전부 따져보면 될 것 같았음하지만, 재귀 구현 과정에서 자꾸 무한루프가 발생해서 힘들었던 문제 문제 풀이 이 문제의 핵심 포인트는 현재 노드 기반이 아니라 현재 상태(양, 늑대, 다음 방문 가능 노드 목록)으로 탐색을 진행해야된다는 것임 => 즉, 지금까지 방문한 모든 노드에 연결된 모든 자식 노드들 중에서 하나를 골라 다음으로 방문해야 무한 루프없이 문제를 제대로 풀 수 ..
JJunGyo
'dfs' 태그의 글 목록