Coding Test (134) 썸네일형 리스트형 [Java] 5단계. 다리 놓기 [1010번] https://www.acmicpc.net/problem/1010예제 입력132 21 513 29예제 출력11567863915문제 접근입력 첫째 줄 : 테스트 케이스 T ~ T번째 줄 : 서쪽 사이트 개수 N, 동쪽 사이트 개수 M(0 출력 각 테스트 케이스에서 조건에 맞게 다리를 지을 수 있는 경우의 수 출력문제 해결서쪽 사이트와 동쪽 사이트가 1:1 매핑이 되어야 함 → 한 사이트가 반대편 사이트에 여러 개 다리 설치 불가서쪽 사이트 수(N) 이기 때문에 결국 mCn의 조합 문제여러 개의 케이스가 주어지기 때문에 미리 dp[30][30]의 배열을 만들고, 규칙을 적용하고 2중 for문으로 점화식 사용dp[i][i] = 1dp[i][0] = 1dp[i][j] = dp[i - 1][j] + dp[i - .. [Java] 4단계. 이항 계수 1 [10872번] https://www.acmicpc.net/problem/11050예제 입력15 2예제 출력110문제 접근이항계수란 주어진 집합에서 원하는 개수만큼 순서없이 뽑는 조합의 개수를 의미순서가 있다는 것은 순열, 순서가 없다는 것은 조합5개 중 2개를 선택(5C2) → 5 * 4 * 3 * 2 * 1 / 3 * 2 * 1 * 2 * 1 = 120 / 12 = 조합 경우의 수는 10개입력 N과 K (1 출력 (5, 2) 이항 계수 출력 문제 해결5개 중 2개를 선택한다는 것은 다음과 같이 볼 수 있음가장 마지막 데이터를 선택 → 이미 1개가 선택되어 4개 중 1개를 선택가장 마지막 데이터를 선택하지 않음 → 4개 중 2개를 선택즉, 5개 중 2개를 선택한 경우의 수 = 4개 중 1개를 선택한 경우의 수 + 4개.. [Java] 3단계. 팩토리얼 [10872번] https://www.acmicpc.net/problem/10872예제 입력110예제 출력13628800예제 입력20예제 출력21문제 접근입력 N (0 12) 출력 N 팩토리얼 출력 문제 해결문제를 푸는 방법은 2가지입력받은 N ~ 1까지 모두 곱하는 반복문 사용재귀 함수 사용반복문 풀이 [메모리 : 14,084 KB / 시간 : 104 ms]public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int sum = 1; for(in.. [Java] 2단계. 녹색거탑 [24723번] https://www.acmicpc.net/problem/24723예제 입력11예제 출력12예제 입력22예제 출력24문제 접근입력 녹색 거탑의 높이 N (1 출력 녹색 거탑의 정상에서 바닥으로 내려오는 경우의 수 출력문제 해결바닥과 근접한 상자 1개당 2개의 경우의 수를 가짐따라서, 규칙을 보면 2^n만큼의 규칙을 보임기존 풀이 [메모리 : 14,016 KB / 시간 : 100 ms]public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); .. [Java] 1단계. 베라의 패션 [15439번] https://www.acmicpc.net/problem/15439예제 입력11예제 출력10예제 입력22예제 출력22예제 입력35예제 출력320문제 접근입력 첫째 줄 : N (1 출력 상의와 하의가 다른 서로 다른 색상의 조합 가짓수 출력문제 해결N * N의 2차원 배열로 나타냄N = 3 이라고 했을 때 i == j가 동일하면 0, 동일하지 않으면 1배열의 총 합 = 서로 다른 색상의 조합 가짓수기존 풀이 [메모리 : 30,676 KB / 시간 : 156 ms]public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); .. [Java] 11단계. queuestack [24511번] https://www.acmicpc.net/problem/24511예제 입력140 1 1 01 2 3 432 4 7예제 출력14 1 2예제 입력251 1 1 1 11 2 3 4 531 3 5예제 출력21 3 5문제 접근입력 첫째 줄 : queuestack의 자료 구조 개수 N (1 둘째 줄 : 길이 N의 수열 A, 0 = Queue, 1 = Stack 셋째 줄 : 길이 N의 수열 B, Bi는 i번 자료구조에 들어가있는 원소 (1 넷째 줄 : 삽입할 수열의 길이 M (1 다섯째 줄 : 길이 M의 삽입할 원소 수열 C (1 출력 수열 C의 원소를 차례대로 queuestack에 삽입했을 때 리턴 값을 한 줄에 출력문제 해결문제를 해석하면 다음과 같음첫째 줄 : 총 4개의 자료구조둘째 줄 : Queue(0) .. [Java] 10단계. 풍선 터뜨리기 [2346번] https://www.acmicpc.net/problem/2346예제 입력153 2 1 -3 -1예제 출력11 4 5 3 2문제 접근규칙1 ~ N번까지의 풍선이 원형으로 놓임 각 풍선에는 종이가 들어있음 ( -N 처음에는 1번 풍선을 터트림 종이를 꺼내 그 종이에 적힌 값만큼 이동하여 풍선을 터뜨림 양수 = 오른쪽 / 음수 = 왼쪽 입력 첫째 줄 : 자연수 N(1 둘째 줄 : 차례대로 풍선 안의 종이 숫자가 주어짐 (단, 0은 주어지지 않음) 출력 터진 풍선의 번호를 차례대로 나열문제 해결1 ~ N까지 Deque에 추가 종이 숫자를 N+1의 배열을 만들어 인덱스 1 ~ N까지 둘째 줄 저장 덱의 첫 번째 값 StringBuilder에 추가 배열[터진 풍선 번호]의 값 X 확인Deque이 빌 때까지 반복양.. [Java] 9단계. 덱 2 [28279번] https://www.acmicpc.net/problem/28279예제 입력11161 31 87832 51 2544예제 출력11838353문제 접근덱 명령어 1 X : 덱의 앞에 X 추가 → addFirst()2 X : 덱의 뒤에 X 추가 → addList()3 : 덱의 앞에 정수를 제거하고 출력, 없으면 -1 → pollFirst()4 : 덱의 뒤에 정수를 제거하고 출력, 없으면 -1 → pollLast()5 : 덱의 정수 개수 출력 → size()6 : 덱이 비어있으면 1, 아니면 0 → isEmpty()7 : 덱에 정수가 있다면 출력, 없으면 -1 → peekFirst()8 : 덱의 정수가 없다면 출력, 없으면 -1 → peekLast()1 입력 첫째 줄 : 명령 N (1 ~ N번째 줄 : 명령 출.. 이전 1 2 3 4 5 ··· 17 다음