전체 글 (88) 썸네일형 리스트형 백준 1068 <트리> 일반적으로 제목이 트리다 형태가 트리가 라고 해서 접근하면 어려운 문제 중 하나이다. 일반적으로 노드의 구성은 이렇게 2진 트리로 구성이 되어 있는데 이문제는 2진 트리라고 주어 져있지 않기 때문에 이렇게 노드 ArrayList를 노드 안에 넣어주었다. 또한 안의 ArrayList를 으로 해준 것은 이해를 돕기 위해서이니 ArrayList 로 인덱스 값만 넣어주면 되는 부분이다. 앞의 설명처럼 여러개의 노드를 자식으로 가질 수 있는 class를 만들어 주었다. 다음은 총 노드의 개수만큼 배열을 완성해주고 입력받은 값이 -1이 될 경우 시작점으로 선택을 하고 나머지는 입력값에 현재 위치를 추가해주었다. ※이 부분에서 중요한 점은 이문제는 하나의 트리이기때문에 -1 값이 두 개가 될 수 없다! 또한 이문제를.. 백준 1941 <소문난 칠공주> 문제를 처음 잘못 이해해서 한참 헤맷던 문제! 25명 중에 7명을 고르는 문제다. 그러나 처음 이해했던 방식은 어떤 지점에서 DFS를 이용해서 탐색해서 발생할 수 있는 경우를 고르는 문제인 줄 알았지만 아쉽게도 결과는 실패. 이러한 문제는 일반적으로 DFS 또는 BFS로 접근을 하다보니 문제에 접근하기 어려웠던 문제이다. 이 예제의 경우에도 이렇게 두가지 방법이 존재할 것이다. 그래서 떠오른 방법은 25개 중 7개를 뽑는 조합 문제인것이다!! 그래서 생각해낸 접근방법이 25개 중 7개를 고르는데 "Y" 임도연 파의 개수가 4개와 같거나 크면 실패이기 때문에 이점을 중점으로 조합을 생성했다. 일단 25개의 String을 만들어서 차례대로 글자를 하나씩 넣었다 또한 int 형의 resul 배열을 생성해서 7.. 백준 2206 <벽 부수고 이동하기> 단순하게 생각하고 구현하면 되는 전형적인 BFS, DFS문제!! 벽을 한 번까지 부수고 종점까지 가면 되는 문제 생각했던 방법은 총 2 가지 방문한 배열을 visit [][][] 이렇게 구현해서 3차원 배열을 만들어 방문처리를 해서 종점까지 가는 방법 dfs를 이용해서 한번 까지만 뚫고 갈 수 있게 설정해서 목적지를 탐색한다. 이 중에 첫번째 방법을 사용해서 구현을 했다. 우선은 좌표와 총 걸린 시간을 나타내는 t와 벽을 몇 번 부쉈는지를 표시하기 위한 num 변수로 클래스를 구성했다. 또한 다음 이동을 담을 Queue를 생성하고 visit의 z열 좌표는 0,1 두 가지로 벽을 1번 부순 것과 안 부순 것의 차이를 나타내기 위해 사용했다. 또한 목적지에 도달할 수 없는 경우가 있기 때문에 result는 .. 이전 1 ··· 26 27 28 29 30 다음