분류 전체보기
-
1. 계단 오르기 (피보나치)철수는 계단을 오를 때 한 번에 한 계단 또는 두 계단씩 올라간다. 만약 총 4계단을 오른다면 그 방법의 수는1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2 로 5가지이다.그렇다면 총 N계단일 때 철수가 올라갈 수 있는 방법의 수는 몇 가지인가?입력첫째 줄은 계단의 개수인 자연수 N(3≤N≤35)이 주어집니다. 출력첫 번째 줄에 올라가는 방법의 수를 출력합니다.예시 입력 1 7예시 출력 121[코드]import java.util.*;class Main { static int[] dy; public int solution(int n) { dy[1] = 1; dy[2] = 2; for(int i=3; i 2. 돌다..
Dynamic Programming(동적계획법) - 기초1. 계단 오르기 (피보나치)철수는 계단을 오를 때 한 번에 한 계단 또는 두 계단씩 올라간다. 만약 총 4계단을 오른다면 그 방법의 수는1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2 로 5가지이다.그렇다면 총 N계단일 때 철수가 올라갈 수 있는 방법의 수는 몇 가지인가?입력첫째 줄은 계단의 개수인 자연수 N(3≤N≤35)이 주어집니다. 출력첫 번째 줄에 올라가는 방법의 수를 출력합니다.예시 입력 1 7예시 출력 121[코드]import java.util.*;class Main { static int[] dy; public int solution(int n) { dy[1] = 1; dy[2] = 2; for(int i=3; i 2. 돌다..
2023.02.19 -
1. 씨름 선수 현수는 씨름 감독입니다. 현수는 씨름 선수를 선발공고를 냈고, N명의 지원자가 지원을 했습니다. 현수는 각 지원자의 키와 몸무게 정보를 알고 있습니다. 현수는 씨름 선수 선발 원칙을 다음과 같이 정했습니다. “A라는 지원자를 다른 모든 지원자와 일대일 비교해서 키와 몸무게 모두 A지원자 보다 높은(크고, 무겁다) 지원자가 존재하면 A지원자는 탈락하고, 그렇지 않으면 선발된다.” N명의 지원자가 주어지면 위의 선발원칙으로 최대 몇 명의 선수를 선발할 수 있는지 알아내는 프로그램을 작성하세요. 입력 첫째 줄에 지원자의 수 N(5
그리디 알고리즘1. 씨름 선수 현수는 씨름 감독입니다. 현수는 씨름 선수를 선발공고를 냈고, N명의 지원자가 지원을 했습니다. 현수는 각 지원자의 키와 몸무게 정보를 알고 있습니다. 현수는 씨름 선수 선발 원칙을 다음과 같이 정했습니다. “A라는 지원자를 다른 모든 지원자와 일대일 비교해서 키와 몸무게 모두 A지원자 보다 높은(크고, 무겁다) 지원자가 존재하면 A지원자는 탈락하고, 그렇지 않으면 선발된다.” N명의 지원자가 주어지면 위의 선발원칙으로 최대 몇 명의 선수를 선발할 수 있는지 알아내는 프로그램을 작성하세요. 입력 첫째 줄에 지원자의 수 N(5
2023.02.18 -
1. 미로탐색(DFS) 7*7 격자판 미로를 탈출하는 경로의 가지수를 출력하는 프로그램을 작성하세요. 출발점은 격자의 (1, 1) 좌표이고, 탈출 도착점은 (7, 7)좌표이다. 격자판의 1은 벽이고, 0은 통로이다. 격자판의 움직임은 상하좌우로만 움직인다. 미로가 다음과 같다면 위의 지도에서 출발점에서 도착점까지 갈 수 있는 방법의 수는 8가지이다. 입력 7*7 격자판의 정보가 주어집니다. 출력 첫 번째 줄에 경로의 가지수를 출력한다. 예시 입력 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 예시 출력 1 8 import java.util.*; class Main { sta..
DFS, BFS 활용 (2)1. 미로탐색(DFS) 7*7 격자판 미로를 탈출하는 경로의 가지수를 출력하는 프로그램을 작성하세요. 출발점은 격자의 (1, 1) 좌표이고, 탈출 도착점은 (7, 7)좌표이다. 격자판의 1은 벽이고, 0은 통로이다. 격자판의 움직임은 상하좌우로만 움직인다. 미로가 다음과 같다면 위의 지도에서 출발점에서 도착점까지 갈 수 있는 방법의 수는 8가지이다. 입력 7*7 격자판의 정보가 주어집니다. 출력 첫 번째 줄에 경로의 가지수를 출력한다. 예시 입력 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 예시 출력 1 8 import java.util.*; class Main { sta..
2023.02.09 -
1. 합이 같은 부분집합(DFS : 아마존 인터뷰) N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때 두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력하는 프로그램을 작성하세요. 둘로 나뉘는 두 부분집합은 서로소 집합이며, 두 부분집합을 합하면 입력으로 주어진 원래의 집합이 되어 합니다. 예를 들어 {1, 3, 5, 6, 7, 10}이 입력되면 {1, 3, 5, 7} = {6, 10} 으로 두 부분집합의 합이 16으로 같은 경우가 존재하는 것을 알 수 있다. 입력 첫 번째 줄에 자연수 N(1
DFS, BFS 활용 (1)1. 합이 같은 부분집합(DFS : 아마존 인터뷰) N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때 두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력하는 프로그램을 작성하세요. 둘로 나뉘는 두 부분집합은 서로소 집합이며, 두 부분집합을 합하면 입력으로 주어진 원래의 집합이 되어 합니다. 예를 들어 {1, 3, 5, 6, 7, 10}이 입력되면 {1, 3, 5, 7} = {6, 10} 으로 두 부분집합의 합이 16으로 같은 경우가 존재하는 것을 알 수 있다. 입력 첫 번째 줄에 자연수 N(1
2023.02.07 -
1. 피보나치 재귀(메모이제이션) 피보나치를 구현하는 것을 여러 방법으로 풀이해보도록 하겠다. 성능 순으로는 3 -> 2 -> 1 순서로 좋다. 1. 배열을 구현하지 않고 재귀함수를 이용하여 풀이하는 방법 import java.util.Scanner; public class Main { public int DFS(int n) { if(n==1 || n==2) return 1; else return DFS(n-2)+DFS(n-1); // 배열 값을 리턴한다. } public static void main(String[] args) { Main T = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=1; i 오른..
Recursive, Tree, Graph(DFS, BFS 기초)1. 피보나치 재귀(메모이제이션) 피보나치를 구현하는 것을 여러 방법으로 풀이해보도록 하겠다. 성능 순으로는 3 -> 2 -> 1 순서로 좋다. 1. 배열을 구현하지 않고 재귀함수를 이용하여 풀이하는 방법 import java.util.Scanner; public class Main { public int DFS(int n) { if(n==1 || n==2) return 1; else return DFS(n-2)+DFS(n-1); // 배열 값을 리턴한다. } public static void main(String[] args) { Main T = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=1; i 오른..
2023.02.03 -
시험 전 중간고사 내용을 정리하여 학습 및 암기를 하기 위해 끄적여 봅니다. 검색 용도와는 맞지 않는 페이지일 수 있습니다. 4. 뷰, 인덱스 뷰 : 하나 이상의 테이블을 합하여 만든 가상의 테이블 편리성 및 재사용성 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리하다. -> 복잡한 질의를 간단하게 작성할 수 있다. 보안성 : 각 사용자별로 보안이 필요한 데이터를 제외하여 선별하여 보여줄 수 있다. -> 개인정보, 급여, 건강 같은 민감한 정보를 제외한 테이블을 만들어 사용. 독립성 : 논리 DB의 원본 테이블의 구조가 변해도 응용 프로그램에 영향을 주지 않도록 하는 논리적 독립성을 제공한다. - 뷰의 특징 - 원본 데이터 값에 따라 같이 변한다. - 독립적인 인덱스 생성이 어렵다. -..
데이터베이스 기말고사 내용정리시험 전 중간고사 내용을 정리하여 학습 및 암기를 하기 위해 끄적여 봅니다. 검색 용도와는 맞지 않는 페이지일 수 있습니다. 4. 뷰, 인덱스 뷰 : 하나 이상의 테이블을 합하여 만든 가상의 테이블 편리성 및 재사용성 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리하다. -> 복잡한 질의를 간단하게 작성할 수 있다. 보안성 : 각 사용자별로 보안이 필요한 데이터를 제외하여 선별하여 보여줄 수 있다. -> 개인정보, 급여, 건강 같은 민감한 정보를 제외한 테이블을 만들어 사용. 독립성 : 논리 DB의 원본 테이블의 구조가 변해도 응용 프로그램에 영향을 주지 않도록 하는 논리적 독립성을 제공한다. - 뷰의 특징 - 원본 데이터 값에 따라 같이 변한다. - 독립적인 인덱스 생성이 어렵다. -..
2023.01.30