www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 주어진 N개의 숫자들로 M개의 숫자를 뽑아 만들 수 있는 수를 오름차순으로 출력하는 문제로 조합 문제입니다. 한 자리의 수를 뽑고 그다음 자리의 수를 뽑을때, 보다 큰 수를 뽑아야 하는 점을 생각해내는 것이 풀이의 핵심이라 생각됩니다. 코드 #include using namespace std; int N; int M; int numbers[9] = {0,}; void combination(int len) { ..
www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 간단한 순열 문제입니다. 단, 작은 수 부터 출력해야 하며 중복을 허용하지 않고 선택해야 한다는 점을 고려해야합니다. 코드 #include using namespace std; int N; int M; int numbers[9]; bool picked[9]; void permutation(int cnt) //cnt: 몇 번째 자릿수인지를 의미함(맨 앞 자릿수 부터 셈) { if(cnt == M + 1) { f..
www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 그래프, 조합, DFS에 대한 개념이 필요한 문제였습니다. 알고리즘 문제를 풀다보면 어떤 문제들은 풀고나면 많은 배움을 얻었다고 느껴지는 문제들이 있습니다. 해당 문제가 이러한 문제였습니다. 결국 스스로의 힘으로 문제를 풀지는 못하고 솔루션을 보고서야 이해하고 풀 수 있었습니다. 특히, 조합을 생성하는데 있어 막힘이 있었습니다. N과 M 문제들을 다시 한 번 쭈욱 풀어봐야겠습니다. 알고리즘을 간략하게 나타내면 다음과 같습니다. 1...
- Total
- Today
- Yesterday
- 단축키
- 조합
- Lowest Common Ancestor
- 백준 11053
- C++ Deploy
- 백준
- 순열
- LCA
- 자료구조
- MOT
- 이분탐색
- 백준 11437
- cosine
- PyCharm
- 파이참
- 백트래킹
- 가장 긴 증가하는 부분 수열
- 인공지능을 위한 선형대수
- FairMOT
- ㅂ
- 백준 1766
- 위상 정렬 알고리즘
- 문제집
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |