본문 바로가기

반응형

알고리즘

(199)
섹션 7. Recursive, Tree, Graph(DFS, BFS 기초) 7. 이진트리 레벨탐색(BFS : Breadth-First Search) 문제 아래 그림과 같은 이진트리를 레벨탐색 연습하세요. 입력 생략 출력 레벨 탐색 순회 출력 : 1 2 3 4 5 6 7 입출력 예제 생략 풀이방식 이번 문제는 이진트리, 큐, 재귀함수를(을) 사용하여 푸는 문제이다. 더 자세한 설명은 아래 글을 참조해서 확인해보기 바랍니다. 섹션 7. Recursive, Tree, Graph(DFS, BFS 기초) 6. 부분집합 구하기(DFS) 설계과정 1. 큐에 노드들을 저장한다. 2. 트리에 레벨을 설정하여 각 레벨에 해당하는 노드들을 확인한다. 3. 해당 레벨에 해당하는 모든 노드들을 큐에서 꺼내고 출력한다. 풀이과정 1. NodeTwo 클래스를 생성하고, 각 변수들을 선언 및 초기화한다. data : 각 트리의 값이 들어갈 변수이다. lt, rt : 각각 왼쪽과..
섹션 7. Recursive, Tree, Graph(DFS, BFS 기초) 6. 부분집합 구하기(DFS) 문제 자연수 N이 주어지면 1부터 N까지의 원소를 갖는 집합의 부분집합을 모두 출력하는 프로그램을 작성하세요. 입력 첫 줄에 총 항수 N(1
섹션 7. Recursive, Tree, Graph(DFS, BFS 기초) 5. 이진트리순회(DFS : Depth-First Search) 문제 아래 그림과 같은 이진트리를 전위순회와 후위순회를 연습해보세요. 전위순회 출력 : 1 2 4 5 3 6 7 중위순회 출력 : 4 2 5 1 6 3 7 후위순회 출력 : 4 5 2 6 7 3 1 풀이방식 이번 문제는 이진트라와 재귀함수를(을) 사용하여 푸는 문제이다. 더 자세한 설명은 아래 글을 참조해서 확인해보기 바랍니다. 섹션 7. Recursive, Tree, Graph(DFS, BFS 기초) 6. 부분집합 구하기(DFS) 설계과정 1. 노드에 값이 없으면 말단 노드임을 의미하므로 바로 리턴한다. 2. 왼쪽과 오른쪽을 나누어서 각각의 노드를 생성한다. 아래 이미지를 통해 자세히 알아보자. 코드중에 tree.root.lt = new Node(2) 가 수행되면 주소값이 200인 lt를 생성하고, 그..
섹션 7. Recursive, Tree, Graph(DFS, BFS 기초) 4. 피보나치 재귀(메모이제이션) 문제 피보나치 수열을 출력한다. 피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다. 입력은 피보나치 수열의 총 항의 수이다. 만약 7이 입력되면 1 1 2 3 5 8 13을 출력하면 된다. 입력 첫 줄에 총 항수 N(3
섹션 7. Recursive, Tree, Graph(DFS, BFS 기초) 3. 팩토리얼 문제 자연수 N이 입력되면 N!를 구하는 프로그램을 작성하세요. 예를 들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 입력 첫 번째 줄에 자연수 N(1
섹션 7. Recursive, Tree, Graph(DFS, BFS 기초) 2. 이진수 출력(재귀) 문제 10진수 N이 입력되면 2진수로 변환하여 출력하는 프로그램을 작성하세요. 단 재귀함수를 이용해서 출력해야 합니다. 입력 첫 번째 줄에 1진수 N(1
[백준 알고리즘 자바] 2751 : 수 정렬하기 2 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 입출력 예제 풀이방식 이번 문제는..
[백준 알고리즘 자바] 25305 : 커트라인 https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net 문제 2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 N명의 학생들이 응시했다. 이들 중 점수가 가장 높은 k명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라. 커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다. 입력 첫째 줄에는 응시자의 수 N과 상을 받는 사람의 수 k가 공백을 사이에 두고 주어진다. 둘째 줄에는 각 학생의 점수 x가 공백을 사이에 두고 주어진다. 출력 상을 받는 커트라인을 출력하라. 입출력 예..