본문 바로가기

반응형

IT

(235)
섹션 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가 공백을 사이에 두고 주어진다. 출력 상을 받는 커트라인을 출력하라. 입출력 예..
[백준 알고리즘 자바] 2587 : 대표값2 https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 문제 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + 30) / 5 = 170 / 5 = 34가 된다. 평균 이외의 또 다른 대표값으로 중앙값이라는 것이 있다. 중앙값은 주어진..
[인프런]스프링 핵심원리 기본편_스프링 컨테이너와 스프링 빈(스프링 빈 설정 메타 정보 - BeanDefinition) BeanDefinition 1. 스프링이 다양한 설정 형식을 지원하기 위한 주요 기능 중 하나로, 추상화이다. 2. 역할과 구현을 개념적으로 나눈 것이다. 스프링 컨테이너는 자바 코드인지, xml 인지 몰라도 된다. 오직 BeanDefinition 만 알면 된다. 3. BeanDefinition을 빈 설정 메타정보라고 한다. @Bean(자바), (xml) 하나당 하나씩의 메타 정보가 생성된다. 4. 스프링 컨테이너는 이 메타정보를 기반으로 스프링 빈을 생성한다. 5. BeanDefinition은 인터페이스(구현체)이고, 스프링 컨테이너는 이 추상화만을 의존하면 된다. 아래 이미지를 통해 더 자세히 알아보자. 1. AnnotationConfigApplicationContext 는 AnnotatedBeanD..