Major- (864) 썸네일형 리스트형 [Ch.07 - Recursive] 03. 팩토리얼 3. 팩토리얼 자연수 N이 입력되면 N!를 구하는 프로그램을 작성하세요. (ex. 5! = 5*4*3*2*1= 120) 입력설명 첫 번째 줄에 자연수 N(1 1*2*3*4*5 } } [Ch.07 - Recursive] 02. 재귀함수를 이용한 이진수 출력 2. 재귀함수를 이용한 이진수 출력 10진수 N이 입력되면 2진수로 변환해 출력하는 프로그램을 작성하세요 (단, 재귀함수를 이용해 출력) 입력설명 첫 번째 줄에 10진수 N(1 2 -> 1 -> 0 -> 4%2 =0,2%2=0, 1%2=1, -> 100 System.out.print(n%2); } } } solution함수 없어도 ->DFS함수에서 재귀함수 구현 가능 package recursive.ch07; import java.util.Scanner; public class Recursive02 { //이진수 출력 //10진수 입력시 2진수로 변환해 출력 public static void main(String[] args) { Scanner kb = new Scanner(System.in); int .. [Ch.07 - Recursive] 01. 재귀함수 1. 재귀함수 자연수 N이 입력되면 재귀함수를 이용하여 1부터 N까지 출력하는 프로그램을 작성하세요. 입력설명 첫 번째 줄은 정수 N(3 2 -> 1 -> 0 -> 4%2 =0,2%2=0, 1%2=1, -> 100 System.out.print(n%2); } } } solution함수 없어도 ->DFS함수에서 재귀함수 구현 가능 package recursive.ch07; import java.util.Scanner; public class Recursive01 { //재귀함수 -> 함수 3개 필요함, 메인함수, 호출함수, 솔루션함수 //1부터 N까지 출력 public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n=.. [Ch.09 - Greedy] 04. 최대 수입 스케줄 4. 최대 수입 스케쥴(PriorityQueue 응용문제) 설명 현수는 유명한 강연자이다. N개의 기업에서 강연 요청을 해왔다. 각 기업은 D일 안에 와서 강연을 해 주면 M만큼의 강연료를 주기로 했다. 각 기업이 요청한 D와 M를 바탕으로 가장 많을 돈을 벌 수 있도록 강연 스케쥴을 짜야 한다. 단 강연의 특성상 현수는 하루에 하나의 기업에서만 강연을 할 수 있다. 입력 첫 번째 줄에 자연수 N(1=1;max--){ while(i!=0){ if(arr.get(i).day [Ch.09 - Greedy] 03. 결혼식 ### 3. 결혼식 설명 현수는 다음 달에 결혼을 합니다. 현수는 결혼식 피로연을 장소를 빌려 3일간 쉬지 않고 하려고 합니다. 피로연에 참석하는 친구들 N명의 참석하는 시간정보를 현수는 친구들에게 미리 요구했습니다. 각 친구들은 자신이 몇 시에 도착해서 몇 시에 떠날 것인지 현수에게 알려주었습니다. 현수는 이 정보를 바탕으로 피로연 장소에 동시에 존재하는 최대 인원수를 구하여 그 인원을 수용할 수 있는 장소를 빌리려고 합니다. 여러분이 현수를 도와주세요. 만약 한 친구가 오는 시간 13, 가는시간 15라면 이 친구는 13시 정각에 피로연 장에 존재하는 것이고 15시 정각에는 존재하지 않는다고 가정합니다. 입력 첫째 줄에 피로연에 참석할 인원수 N(5 [Ch.09 - Greedy] 02. 회의실 배정 2. 회의실 배정 설명 한 개의 회의실이 있는데 이를 사용하고자 하는 n개의 회의들에 대하여 회의실 사용표를 만들려고 한다. 각 회의에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 최대수의 회의를 찾아라. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 입력 첫째 줄에 회의의 수 n(1 [Ch.09 - Greedy] 01. 씨름 선수 1. 씨름 선수 설명 현수는 씨름 감독입니다. 현수는 씨름 선수를 선발공고를 냈고, N명의 지원자가 지원을 했습니다. 현수는 각 지원자의 키와 몸무게 정보를 알고 있습니다. 현수는 씨름 선수 선발 원칙을 다음과 같이 정했습니다. “A라는 지원자를 다른 모든 지원자와 일대일 비교해서 키와 몸무게 모두 A지원자 보다 높은(크고, 무겁다) 지원자가 존재하면 A지원자는 탈락하고, 그렇지 않으면 선발된다.” N명의 지원자가 주어지면 위의 선발원칙으로 최대 몇 명의 선수를 선발할 수 있는지 알아내는 프로그램을 작성하세요. 입력 첫째 줄에 지원자의 수 N(5 [리뷰] 해결 못한 알고리즘 다시 풀기 -4 1. 캐시 알고리즘 (1) 배열 이용 import java.util.Scanner; public class Main { static int[] solution(int n, int[] arr) { int[] answer = new int[n]; // 캐시 히트, 캐시 미스 -> 위치를 -1로 지정후, pos으로 히트 유무 확인 int pos = 0; for (int i = 0; i 0; j--) { answer[j]=answer[j-1]; } } .. 이전 1 ··· 53 54 55 56 57 58 59 ··· 108 다음