본문 바로가기

반응형

Algorithm_BOJ(백준)/완전탐색(Brute Force)

(70)
[백준 14225 c++ O] 부분수열의 합 풀이2. 재귀 조합 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include // memset 헤더 using namespace std; // [백준 14225 c++ O] 부분수열의 합 // 문제: 부분수열의 모든 합을 제외한 가장 작은 자연수 구하기 // 접근: 부분수열의 조합 -> 완탐(재귀 순차탐색) -> 조합이므로 중복 없음, -> 부분수열의 합을 visit 배열로 유무처리 // 재귀인자(..
[백준 14225 c++ O] 부분수열의 합 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include // memset 헤더 using namespace std; // [백준 14225 c++ O] 부분수열의 합 // 문제: 부분수열의 모든 합을 제외한 가장 작은 자연수 구하기 // 접근: 부분수열의 조합 -> 완탐(재귀 순차탐색) -> 조합이므로 중복 없음, -> 부분수열의 합을 visit 배열로 유무처리 // 재귀인자(현재..
[백준 1182 c++ V] 부분수열의 합 풀이 1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include // memset 헤더 using namespace std; // [백준 1182 c++ V] 부분수열의 합 // 문제: 원하는 합이 되는 부분수열의 갯수 구하기 // 접근: 부분수열 갯수 구하기 -> 완전탐색(재귀,dfs) -> 재귀 사용 // 재귀인자(현재 수열의 인덱스, 현재까지 부분수열 합) // 시간복잡도: O(..
[백준 6603 c++ OO] 로또 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include // memset 헤더 using namespace std; // [백준 6603 c++ OO] 로또 // 접근: 로또 수 조합 구하기-> 완탐(재귀,순열) -> 중복없는 조합(방문배열) -> 완전탐색 재귀이용 // 재귀인자(현재 뽑은 수 객수, 중복방..
[백준 6064 c++ V] 카잉 달력 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include // memset 헤더 using namespace std; // [백준 6064 c++ V] 카잉 달력 // 문제: 카잉 달력에 원하는 날짜는 몇 번째 해인지 구하라 // 접근1: 완전탐색 -> 시간초과 // 시간복잡도: O(n*m) = 16억 // 접근2: 건너뛰며 완전탐색 -> 인덱스를 x의 주기만큼 더하며 탐색하면 x는 고정, y만 탐색 하는 것 // 시간복잡도: O(n) = 4만 ..
[백준 1748 c++ VV] 수 이어 쓰기 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include // memset 헤더 #include using namespace std; // [백준 1748 c++ VV] 수 이어 쓰기 1 // 문제: 이어진 수의 총 자릿수 구하기 // 접근: 문자열로 직접 수 만들어서 자릿수 구하기 -> 시간초과 // 접근2: 수학 규칙성 찾기 // 풀이: // 각 자릿수 일때 길이합 구하기 // 총 자릿수 합 = 같은자리 (끝수 - 첫수+..
[백준 14500 c++ OV] 테트로미노 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include // memset 헤더 using namespace std; // [백준 14500 c++ OV]..
[백준 6603 c++ O] 로또 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include // memset 헤더 using namespace std; // [백준 6603 c++ O] 로또 // 접근: 로또 수 조합 구하기-> 완탐(재귀,순열) -> 중복없는 조합(방문배열) -> 완전탐색 재귀이용 // 재귀인자(현재 뽑은 수 객수, 중복방지 오름차순을 위한 start인자, 현재까지 ..

반응형