dfs

문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예numbersreturn "17" 3 "011" 2 입출력 예 설명 예제 #1 [1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. 예제 #2 [0, 1, 1]으로는 소수 [11, 10..
문제 설명 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 서로를 한번에 공격 할 수 없습니다. 체스판의 가로 세로의 세로의 길이 n이 매개변수로 주어질 때, n개의 퀸이 조건에 만족 하도록 배치할 수 있는 방법의 수를 return하는 solution함수를 완성해주세요. 제한사항 퀸(Queen)은 가로, 세로, 대각선으로 이동할 수 있습니다. n은 12이하의 자연수 입니다. 입출력 예nresult 4 2 입출력 예 설명 입출력 예 #1 문제의 예시와 같습니다. 문제 풀이 조건을 보면, 1. 체스판의 가로, 세로 길이 및 퀸 개 수는 N개 이다. 2. N은 최대..
문제 설명 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 달라 어떤 순서로 설지 정하는데 시간이 오래 걸렸다. 네오는 프로도와 나란히 서기를 원했고, 튜브가 뿜은 불을 맞은 적이 있던 라이언은 튜브에게서 적어도 세 칸 이상 떨어져서 서기를 원했다. 사진을 찍고 나서 돌아오는 길에, 무지는 모두가 원하는 조건을 만족하면서도 다르게 서는 방법이 있지 않았을까 생각해보게 되었다. 각 프렌즈가 원하는 조건을 입력으로 받았을 때 모든 조건을 만족할 수 있도록 서는 경우의 수를 계산하는 프로그램을 작성해보자. 입력 형식 입력은 조건의 개수를 나타내는 정수 n과 n개의 원소로 구성..
해당 문제를 풀려면 DFS (깊이우선탐색) / BFS (넓이우선탐색)에 대한 이해가 필요하다. 그림에서 보다시피 DFS는 한 쪽으로 먼저 끝까지 탐색하고, BFS는 현재 위치에서 접근가능한 모든 노드(경우의 수)를 탐색 한 후 다음 Depth로 넘어간다. DFS - 재귀 또는 스택으로 구현 가능하다. - 깊게 탐색하는 것 - 어떤 노드를 방문하였는지에 여부를 반드시 검사해야한다. - 모든 노드를 방문하고자 할 때, 이 방법을 사용한다. - BFS에 비하여 간단하다. - BFS에 비하여 느리다. - 이동 과정에서 제약이 있을 경우 DFS를 사용하는 것이 유리 BFS - 재귀동작 X - 선입선출을 원칙으로 함 (FIFO) - 넓게 탐색하는 것 - 어떤 노드를 방문하였는지 여부를 반드시 검사 할 것 - 방문한..
infitry
'dfs' 태그의 글 목록