분류 전체보기 291

[백준 10974번 C++] 모든 순열

10974번: 모든 순열 (acmicpc.net) 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 1. 백트랙킹 DFS로 푸는 방법 [C++][백준 10974]모든 순열 (tistory.com) [C++][백준 10974]모든 순열 [문제] 10974번: 모든 순열 (acmicpc.net) 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net [문제 풀이] 백트래킹을 이 yoon-1212.tistory.com 2. 의 next_permunation을 이용해서 순열 구하기 [백준 #10974] 모든 순열..

[백준 2981번 C++] 검문

2981번: 검문 (acmicpc.net) 2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 벡터 정렬하는 법 [C++] vector (벡터) 정렬, 배열 정렬하기 :: Feel Coding (tistory.com) [C++] vector (벡터) 정렬, 배열 정렬하기 벡터든 배열이든 정렬을 하려면 라이브러리의 sort() 함수를 쓰면 된다. 따라서 헤더파일을 포함해줘야 한다. sort() 함수의 첫번째 두번째 매개변수는 iterator, 즉 포인터이다. sort - C++ Reference custom breakcoding...

[백준 15650번 C++] N과 M (2)

15650번: N과 M (2) (acmicpc.net) 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 내가 처음 작성한 문제의 코드는 #include #include using namespace std; int m; vector v; int a[8]; void dfs(int start, int depth){ if(depth == m){ for(int i=0; i

[백준 6603번 C++] 로또

6603번: 로또 (acmicpc.net) 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 이 문제 또한 dfs를 사용한 문제인데.. [백준/C++] 6603번: 로또 (tistory.com) [백준/C++] 6603번: 로또 1) 이건 test case 갯수를 입력으로 받지 않고 0이 나오면 끝나게 해야했다. 그 부분을 잘 몰랐는데 while문으로 구현하면 된다. 2) 조합을 만드는 문제는 탐색으로 풀면 된다. 1차원배열 탐색을 하면 sanghyu.tistory.com 이 포스팅을 보고 힌트를 얻..

[백준 1182번 C++] 부분수열의 합

1182번: 부분수열의 합 (acmicpc.net) 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net DFS 백트래킹을 사용해야했던 문제 DFS를 살펴보자.. [알고리즘] 깊이 우선 탐색(DFS)이란 - Heee's Development Blog (gmlwjd9405.github.io) [알고리즘] 깊이 우선 탐색(DFS)이란 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io [백준/BOJ..

[백준 6588번] 골드바흐의 추측

6588번: 골드바흐의 추측 (acmicpc.net) 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net 백준 9020번의 골드바흐의 추측과 굉장히 유사한데, 달라진 점은 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 것을 출력한다 또, 두 홀수 소수의 합으로 n을 나타낼 수 없는 경우에는 "Goldbach's conjecture is wrong."을 출력한다. 라는 조건 짝수 n을 n/2-i, n/2+i로 중앙에서 가장자리 방향으로 검사했다면, 이번에는 반대로 해야할..

[백준 9020번] 골드바흐의 추측

9020번: 골드바흐의 추측 (acmicpc.net) 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net n이라는 숫자가 주어졌을 때, 두 수의 합이 n인 두 소수를 구해야하는 데.. ex) 4 = 2+2 6 = 3+3 8 = 3+5 10 = 5+5 12 = 5+7 14 = 7+7 16 = 5+11 짝수, 홀수 나눠서 어렵게 생각했는 데 문제 다시 읽어보니까 짝수 n이더라 n이 짝수니까 n을 절반으로 나눠서 하나씩 차이나게 검사를 하면 됨 n/2-i, n/2+i 의 합은 n이니까 백준9020번..

[백준 1929번] 소수 구하기

1929번: 소수 구하기 (acmicpc.net) 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 소수의 특징은 약수가 자기 자신과 1만 있는 숫자니까 m, n을 입력을 받고, 자기 자신보다 작은 숫자를 다 나눠서 나머지가 0이 안나오는 걸로 판별을 했다 결과로 소수가 출력이 잘 되길래 제출했는 데, 시간 초과가 뜸 문제의 코드 #include using namespace std; int main() { int m, n; cin >> m >> n; for(m; m 1){ if(m%p == 0){ break; } p--; } if(p==1) ..