목록BOJ (335)
기록방
![](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
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vaSsx/btrVMX1ZQox/7nh7rsIlkJ0nKzX2waZHY0/img.png)
👉 문제링크 1183번: 약속 마법사 N명이 머글 문화를 이해하기 위해 머글과 약속을 잡았다. 각 마법사는 한 명의 머글을 만날 예정이다. 하지만, 마법사는 약속 시간보다 빨리 또는 늦게 도착할 수 있기 때문에 고민에 빠 www.acmicpc.net 🔸 문제 분석 🔸 |Ai+T-Bi|의 합이 최소가 되는 T의 개수를 구한다. T는 A-B 배열을 정렬하고 그 중앙값이다. n이 홀수면 1개가 나온다. n이 짝수면 n/2
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bNAqjX/btrVv2OGIYd/Fs3ual0bo3kuyGCNqSOO7k/img.png)
👉 문제링크 1166번: 선물 민식이는 아이들에게 선물할 같은 크기의 작은 박스를 N개 가지고 있다. 모든 작은 박스는 정육면체이고, 크기는 A × A × A 이다. 민식이는 이 작은 박스를 크기가 L × W × H 인 직육면체 박스에 www.acmicpc.net 🔸 문제 분석 🔸 한 변의 길이가 A인 N개의 정사각형 상자가 있다. L * W * H 크기의 상자에 상자를 모두 넣어야 할 때, A의 최대값을 출력한다. 특정 값을 찾는 방법으로 이분탐색을 사용한다. 문제 조건의 절대/상대 오차는 10^-9 까지 허용이므로 충분한 반복횟수로 이분탐색을 진행한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String..