본문 바로가기
반응형

dfs3

백준 14888 : 연산자 끼워넣기 (파이썬) 연산자 끼워넣기 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 512 MB 54744 28745 18139 49.371% 문제 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. 예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 경우에는 총 60가지의 식을 만들 수 있다. 예를 들어, 아래와.. 2022. 2. 5.
깊이 우선 탐색(DFS), 너비 우선 탐색(BFS) 깊이 우선 탐색 (DFS : Depth First Search) 대표적으로 백트래킹에 사용한다. 일반적으로 재귀 호출을 사용하여 구현하지만, 단순한 스택 배열로 구현하기도 한다. 구조상 스택 오버플로우를 유의해야 한다. 자동 미로 생성에 많이 사용 되는 알고리즘! 장점 현 경로상의 노드만 기억하면 돼서 저장공간의 수요가 비교적 적다. 목표 노드가 깊은 단계에 있을 경우 해를 빨리 구할 수 있다. 단점 해가 없는 경로에 깊이 빠질 수 있다. ( 임의 깊이까지만 탐색하도록 만들기! ) 얻어진 해가 최단 경로가 아닐 수도 있다. 왜냐? DFS는 일단 해를 찾으면 탐색이 끝나기 때문이다. 동작 방식 트리나 그래프에서 한 루트로 탐색하다가 특정 상황에서 최대한 깊숙이 들어가서 확인한 뒤 다시 돌아가 다른 루트로 .. 2022. 2. 1.
백준 15649 : N과 M (1) (파이썬) N과 M (1) 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 512 MB 50418 30965 20654 60.574% 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안 되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 예제 입력 1 3 1 예제 출력 1 1 2 3 예제 입력 2 4 2 예제 출력 2 1 2 1 3 1 4 2 1 2 3 2 4 .. 2022. 2. 1.
반응형