일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- json #typescript
- datamodel
- Implementation
- database
- SW
- entityrelational
- db
- designpatternn
- kafka
- DP
- storagemanger
- Today
- Total
목록프로그래밍/Algorithm (10)
i.am.developer
https://www.acmicpc.net/problem/10972 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 간단한 풀이 예를 들어, 1 7 6 5 4 3 2 라는 n번째 순열이 있을 때, 다음 n+1번째 순열은 2 1 3 4 5 6 7 이 된다. 그 과정을 잘 살펴보기위해 순열을 1 7 6 5 4 3 2 와 2 1 3 4 5 6 7, 파란부분 빨간부분 2가지 부분을 나눠보자. 1 7 6 5 4 3 2는 1로 시작하는 순열 중 가장 마지막, 가장 큰 순열이다. (내림차순) 2 1 3 4 5 6 7은 2로 시작하는 순열 중 가장 처음, 가장 작은 순열이다. (오름차..
https://www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 이 문제는 10972번 다음순열 문제를 풀면 쉽게 풀 수 있다. 오름차순의 배열에 대해 next_permutation을 -1의 값이 나올 때 까지(다음 순열이 없을 때까지) 해주면 된다. 비고 제출했을 때, 시간 초과가 나와서 시간복잡도를 잘못 계산한 줄 알았는데 출력이 많다보니 출력하는데 시간 초과가 나는 것이었다. scanf와 printf를 사용했을 때와 cout, cin을 사용했을 때 시간차이가 나는 것을 줄이기 위해선 아래의 코드를 입력하자. ios_base::sync_with_..