본문 바로가기

Coding Test

(134)
[Java] N과 M 11 [15665번] https://www.acmicpc.net/problem/15665예제 입력13 14 4 2예제 출력124예제 입력24 29 7 9 1예제 출력21 11 71 97 17 77 99 19 79 9예제 입력34 41 1 2 2예제 출력31 1 1 11 1 1 21 1 2 11 1 2 21 2 1 11 2 1 21 2 2 11 2 2 22 1 1 12 1 1 22 1 2 12 1 2 22 2 1 12 2 1 22 2 2 12 2 2 2문제 접근같은 수를 여러 번 골라도 되지만, 중복 수열은 출력해선 안 됨문제 해결i = 0 ~ N 까지 모든 경우의 수 출력기존 풀이 [메모리 : 172780 KB / 시간 : 1348 ms]static StringBuilder sb = new StringBuilder();sta..
[Java] N과 M 10 [15664번] https://www.acmicpc.net/problem/15664예제 입력13 14 4 2예제 출력124예제 입력24 29 7 9 1예제 출력21 71 97 99 9예제 입력34 41 1 2 2예제 출력31 1 2 2문제 접근이전 인덱스와 자기 자신을 포함하지 않음문제 해결재귀 호출 시 현재 인덱스 + 1‘N과 M 9’와 동일하게 Set으로 중복 체크 필요기존 풀이 [메모리 : 14164 KB / 시간 : 108 ms]static StringBuilder sb = new StringBuilder();static int numCount, length;static int[] arr;static List numList = new ArrayList();static Set numSet = new HashSet(..
[Java] N과 M 9 [15663번] https://www.acmicpc.net/problem/15663예제 입력13 14 4 2예제 출력124예제 입력24 29 7 9 1예제 출력21 71 97 17 99 19 79 9예제 입력34 41 1 1 1예제 출력31 1 1 1문제 접근1 ~ 8번 시리즈와는 다르게 겹치는 숫자가 주어짐동일한 수열은 출력되어서는 안 됨(1 7), (1 9), (1 9) ⇒ (1 9) 겹쳐서 하나만 출력(7 1), (7 9), (7 9) ⇒ (7 9) 겹쳐서 하나만 출력문제 해결Set을 선언해서 StringBuilder에 추가하기 전 셋에 없는 문자열일 경우에만 StringBuilder에 추가자기 자신은 출력하지 않기 때문에 방문 여부를 체크하는 visited 배열 필요기존 풀이 [메모리 : 37568 KB / 시간..
[Java] N과 M 8 [15657번] https://www.acmicpc.net/problem/15657예제 입력13 14 5 2예제 출력1245예제 입력24 29 8 7 1예제 출력21 11 71 81 97 77 87 98 88 99 9예제 입력34 41231 1232 1233 1234예제 출력31231 1231 1231 12311231 1231 1231 12321231 1231 1231 12331231 1231 1231 12341231 1231 1232 12321231 1231 1232 12331231 1231 1232 12341231 1231 1233 12331231 1231 1233 12341231 1231 1234 12341231 1232 1232 12321231 1232 1232 12331231 1232 1232 12341231 ..
[Java] N과 M 7 [15656번] https://www.acmicpc.net/problem/15656예제 입력13 14 5 2예제 출력1245예제 입력24 29 8 7 1예제 출력21 11 71 81 97 17 77 87 98 18 78 88 99 19 79 89 9예제 입력33 31231 1232 1233예제 출력31231 1231 12311231 1231 12321231 1231 12331231 1232 12311231 1232 12321231 1232 12331231 1233 12311231 1233 12321231 1233 12331232 1231 12311232 1231 12321232 1231 12331232 1232 12311232 1232 12321232 1232 12331232 1233 12311232 1233 12321..
[Java] N과 M 6 [15655번] https://www.acmicpc.net/problem/15655예제 입력13 14 5 2예제 출력1245예제 입력24 29 8 7 1예제 출력21 71 81 97 87 98 9예제 입력34 41231 1232 1233 1234예제 출력31231 1232 1233 1234문제 접근이번에는 앞의 인덱스의 숫자와 자기 자신을 출력하지 않음앞의 인덱스 숫자 ⇒ (7 1), (8 7) 등자기 자신 ⇒ (1 1) (7 7) 등문제 해결재귀 호출 시 현재 i + 1의 값 전달기존 풀이 [메모리 : 14176 KB / 시간 : 124ms]static StringBuilder sb = new StringBuilder();static int numCount, length;static int[] arr;static Li..
[Java] N과 M 5 [15654번] https://www.acmicpc.net/problem/15654예제 입력13 14 5 2예제 출력1245예제 입력24 29 8 7 1예제 출력21 71 81 97 17 87 98 18 78 99 19 79 8예제 입력34 41231 1232 1233 1234예제 출력31231 1232 1233 12341231 1232 1234 12331231 1233 1232 12341231 1233 1234 12321231 1234 1232 12331231 1234 1233 12321232 1231 1233 12341232 1231 1234 12331232 1233 1231 12341232 1233 1234 12311232 1234 1231 12331232 1234 1233 12311233 1231 1232 123..
[Java] N과 M 4 [15652번] https://www.acmicpc.net/problem/15652예제 입력13 1예제 출력1123예제 입력24 2예제 출력21 11 21 31 42 22 32 43 33 44 4예제 입력33 3예제 출력31 1 11 1 21 1 31 2 21 2 31 3 32 2 22 2 32 3 33 3 3문제 접근앞에 있는 숫자를 시작으로 N까지 출력문제 해결2번 예제를 이중 반복문으로 생각을 하면, i ~ N까지 반복하고 그 다음 depth에서는 이전 i를 시작으로 N까지 반복N = 4, M = 2 일 경우i = 1일 경우 → j = 1, 2 , 3, 4i = 2일 경우 → j = 2, 3, 4⇒ (1 1), (1 2), (1 3), (1 4), (2 2), (2 3), (2 4), … (3 3), (3 4), ..