DFS 8

[Algorithm] 백준1463_1로 만들기(DFS, DP)

1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 설명 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. 예시 입력 / 출력 입력 출력 2 1 10 3 풀이 과정) 1. 재귀함수를 이용하여 풀이 완전탐색으로 진행하되 구한 카운트(cnt)값이 이전에..

Algorithm 2021.10.04

[Algorithm] 수열 추측하기(이항계수, DFS, 메모이제이션)

설명 가장 윗줄에 1부터 N까지의 숫자가 한 개씩 적혀 있다. 그리고 둘째 줄부터 차례대로 파스칼 의 삼각형처럼 위의 두개를 더한 값이 저장되게 된다. 예를 들어 N이 4 이고 가장 윗 줄에 3 1 2 4 가 있다고 했을 때, 다음과 같은 삼각형이 그려진다. N과 가장 밑에 있는 숫자가 주어져 있을 때 가장 윗줄에 있는 숫자를 구하는 프로그램을 작성하 시오. 단, 답이 여러가지가 나오는 경우에는 사전순으로 가장 앞에 오는 것을 출력하여야 한다. 입력 첫째 줄에 두개의 정수 N(1≤N≤10)과 F가 주어진다. N은 가장 윗줄에 있는 숫자의 개수를 의 미하며 F는 가장 밑에 줄에 있는 수로 1,000,000 이하이다. 출력 첫째 줄에 삼각형에서 가장 위에 들어갈 N개의 숫자를 빈 칸을 사이에 두고 출력한다...

Algorithm 2021.07.15

[Algorithm] 순열 구하기, 중복순열 구하기(DFS)

순열이란 서로다른 n개 원소중 r개를 선택하여 일렬로 나열하는 경우의 수를 말한다. 예를들어 A/B/C/D 4개 중 3개의 원소를 뽑았다면 선택된 원소는 ABC ACD ABD BCD 4가지가 된다. 이렇게 위치와 순서 상관없이 단순하게 뽑아낸 것을 조합이라고 하는데 여기서 원소들의 순서와 위치를 다르게 하여 일렬로 나열 하는 것을 순열이라고 한다. 즉 순열은 위치와 순서가 있는 조합이다. 위의 4가지 조합 중에 하나인 ABC를 위치와 순서에 따라 나열하는 경우 ABC ACB BAC BCA CAB CBA - 6가지의 경우의 수가 생긴다. 즉 ABC의 경우의 수 6 ACD 의 경우의 수 6 BCD 의 경우의 수 6 ABD의 경우의 수 6 이렇게 해서 A/B/C/D 4개 중 3개의 원소를 뽑는 순열의 경우의 ..

Algorithm 2021.07.14

[Algorithm] 최대점수 구하기(DFS)

설명 정보올림피아드대회에서 N개의 문제를 풀려고 합니다. 각 문제는 그것을 풀었을 때 얻는 점수와 푸는데 걸리는 시간이 주어지게 됩니다. 제한시간 M안에 N개의 문제 중 최대점수를 얻을 수 있도록 해야 합니다. (해당문제는 해당시간이 걸리면 푸는 걸로 간주한다, 한 유형당 한개만 풀 수 있습니다.) 입력 첫 번째 줄에 문제의 개수N(1

Algorithm 2021.07.13

[Algorithm] 합이 같은 부분 집합(DFS:아마존 인터뷰)

설명 N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때 두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력하는 프로그램을 작성하세요. 둘로 나뉘는 두 부분집합은 서로소 집합이며, 두 부분집합을 합하면 입력으로 주어진 원래의 집합이 되어 합니다. 예를 들어 {1, 3, 5, 6, 7, 10}이 입력되면 {1, 3, 5, 7} = {6, 10} 으로 두 부분집합의 합이 16으로 같은 경우가 존재하는 것을 알 수 있다. 입력 첫 번째 줄에 자연수 N(1 레벨은 1 2 3 4 5 6 / sum의 인덱스는 0 1 2 3 4 5 DFS(0, 0); System.out.println(result); } } 정리 : 처음 ..

Algorithm 2021.07.12