목록CodingTest (432)
기록방
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bFXM36/btrVTmUUKbq/JY2bk5OktNEAhX25rgzPkK/img.png)
👉 문제링크 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 🔸 문제 분석 🔸 n개의 숫자의 합이 m보다 작거나 같게 만들어야 한다. 그 중 최대값을 출력한다. 숫자들의 합이 m보다 작다면, 기존 숫자들 중 최대값을 출력한다. 숫자들의 합이 m보다 크다면, 최대값 커트라인을 만들고 합이 최대가 될 때의 커트라인을 출력한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { private static int sum(int[] arr, int max) { int ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xlkfx/btrVRCaRpRR/Va6tLGz04rA7Fqw8NCKEN1/img.png)
👉 문제링크 2407번: 조합 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net 🔸 문제 분석 🔸 nCm을 출력한다. n개의 수에서 m개를 선택하는 조합의 공식과 예시는 다음과 같다. n! / (n-r)!r! n=5, r=2 : 5*4*3/2*1 n이 팩토리얼로 아주 큰 값으로 커져 long의 범위를 벗어나므로 BigInteger를 사용해야한다. 🔸 코드 🔸 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = s..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bUn2sh/btrVNgNZFFo/7GFnj5cHhqNxHjVZWZK1nk/img.png)
👉 문제링크 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 🔸 문제 분석 🔸 n이 주어졌을때 1부터 n까지의 수로 이루어진 순열을 사전순으로 출력한다. 🔸 코드 🔸 import java.util.Scanner; import java.util.Stack; public class Main { static Stack stack; private static void dfs(int d, StringBuilder sb) { if (stack.size() == d) { for (int i : stack) { sb.append(i+" "); } sb.append("\n"); } for (int i = 1; i