목록티스토리챌린지 (7)
개발 공부~

설명로 계산합니다.하지만 여러분은 이 공식을 쓰지않고 다음 공식을 사용하여 재귀를 이용해 조합수를 구해주는 프로그램을 작성하세요.입력첫째 줄에 자연수 n(3출력첫째 줄에 조합수를 출력합니다.예시 입력 1 5 3예시 출력 110예시 입력 2 33 19예시 출력 2818809200 내 풀이간단한 계산만 하기 때문에 n값이 커지면 실행에 시간이 걸린다import java.util.Scanner;public class Main { public static int dfs(int n, int r ) { if(n==r || r ==0) return 1; else return dfs(n-1,r-1) + dfs(n-1,r); } public static void main(St..

설명N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력하는 프로그램을 작성하세요. 둘로 나뉘는 두 부분집합은 서로소 집합이며, 두 부분집합을 합하면 입력으로 주어진 원래의 집합이 되어 합니다.예를 들어 {1, 3, 5, 6, 7, 10}이 입력되면 {1, 3, 5, 7} = {6, 10} 으로 두 부분집합의 합이 16으로 같은 경우가 존재하는 것을 알 수 있다.입력첫 번째 줄에 자연수 N(1두 번째 줄에 집합의 원소 N개가 주어진다. 각 원소는 중복되지 않는다.출력첫 번째 줄에 “YES" 또는 ”NO"를 출력한다.예시 입력 1 61 3 5 6 7 10 예시 출..
설명현수는 송아지를 잃어버렸다. 다행히 송아지에는 위치추적기가 달려 있다.현수의 위치와 송아지의 위치가 수직선상의 좌표 점으로 주어지면 현수는 현재 위치에서 송아지의 위치까지 다음과 같은 방법으로 이동한다.송아지는 움직이지 않고 제자리에 있다.현수는 스카이 콩콩을 타고 가는데 한 번의 점프로 앞으로 1, 뒤로 1, 앞으로 5를 이동할 수 있다.최소 몇 번의 점프로 현수가 송아지의 위치까지 갈 수 있는지 구하는 프로그램을 작성하세요.입력첫 번째 줄에 현수의 위치 S와 송아지의 위치 E가 주어진다. 직선의 좌표 점은 1부터 10,000까지이다.출력점프의 최소횟수를 구한다. 답은 1이상이며 반드시 존재합니다.예시 입력 1 5 14예시 출력 13 내 풀이BFS -> 최단거리 visited[] 배열이미 방문한 ..

설명N개의 마구간이 수직선상에 있습니다. 각 마구간은 x1, x2, x3,......, xN의 좌표를 가지며, 마구간간에 좌표가 중복되는 일은 없습니다.현수는 C마리의 말을 가지고 있는데, 이 말들은 서로 가까이 있는 것을 좋아하지 않습니다. 각 마구간에는 한 마리의 말만 넣을 수 있고,가장 가까운 두 말의 거리가 최대가 되게 말을 마구간에 배치하고 싶습니다.C마리의 말을 N개의 마구간에 배치했을 때 가장 가까운 두 말의 거리가 최대가 되는 그 최대값을 출력하는 프로그램을 작성하세요.입력첫 줄에 자연수 N(3둘째 줄에 마구간의 좌표 xi(0출력첫 줄에 가장 가까운 두 말의 최대 거리를 출력하세요.예시 입력 1 5 31 2 8 4 9예시 출력 13 내 풀이 기준은 두 마구간 사이의 거리 초기 설정lt ..
설명지니레코드에서는 불세출의 가수 조영필의 라이브 동영상을 DVD로 만들어 판매하려 한다.DVD에는 총 N개의 곡이 들어가는데, DVD에 녹화할 때에는 라이브에서의 순서가 그대로 유지되어야 한다.순서가 바뀌는 것을 우리의 가수 조영필 씨가 매우 싫어한다. 즉, 1번 노래와 5번 노래를 같은 DVD에 녹화하기 위해서는 1번과 5번 사이의 모든 노래도 같은 DVD에 녹화해야 한다. 또한 한 노래를 쪼개서 두 개의 DVD에 녹화하면 안 된다.지니레코드 입장에서는 이 DVD가 팔릴 것인지 확신할 수 없기 때문에 이 사업에 낭비되는 DVD를 가급적 줄이려고 한다.고민 끝에 지니레코드는 M개의 DVD에 모든 동영상을 녹화하기로 하였다.이때 DVD의 크기(녹화 가능한 길이)를 최소로 하려고 한다.그리고 M개의 DVD..
설명N개의 평면상의 좌표(x, y)가 주어지면 모든 좌표를 오름차순으로 정렬하는 프로그램을 작성하세요. 정렬기준은 먼저 x값의 의해서 정렬하고, x값이 같을 경우 y값에 의해 정렬합니다.입력첫째 줄에 좌표의 개수인 N(3 두 Point 객체를 비교하는 사용자 정의 정렬 기준을 설정 -> Collections.sort() 같은 메서드에서 어떻게 Point 객체들을 정렬할지를 정의 compareTo() 메서드: 뺄셈의 순서에 따라 정렬 방향이 결정 -> this.y - other.y → y 값이 작은 것이 먼저 정렬 (오름차순) -> other.y - this.y → y 값이 큰 것이 먼저 정렬 (내림차순) 즉, 현재 객체와 매개변수로 받은 객체끼리의 뺀 결과가 음수가 리턴되도록 해야 한다 오름차순 this..
설명현수네 반에는 N명의 학생들이 있습니다.선생님은 반 학생들에게 1부터 10,000,000까지의 자연수 중에서 각자가 좋아하는 숫자 하나 적어 내라고 했습니다.만약 N명의 학생들이 적어낸 숫자 중 중복된 숫자가 존재하면 D(duplication)를 출력하고,N명이 모두 각자 다른 숫자를 적어냈다면 U(unique)를 출력하는 프로그램을 작성하세요.입력첫 번째 줄에 자연수 N(5두 번째 줄에 학생들이 적어 낸 N개의 자연수가 입력된다.출력첫 번째 줄에 D 또는 U를 출력한다.예시 입력 1 820 25 52 30 39 33 43 33예시 출력 1D 내 풀이 1. Set의 contains 메서드중복을 검사하는 문제 => Set하나씩 차례로 검사하면서 set에 없는 숫자면 넣고, 이미 있는 숫자라면 for문을..