백준 1722번 순열의 순서 C++ 풀이
오늘은 1722번 문제의 풀이를 해보자. 순열의 순서 문제인데, 난이도가 높은 편인것 같다. 정답률이 30% 대 인만큼 난이도가 있지만, 이 내용은 앞으로도 꾸준히 쓰일 이론 같으니 잘 해두면 좋겠다. 문제 설명 간단히 설명하자면, 몇 번째 수열인지 입력하면 해당 수열을 구해서 출력하면 되고, 수열을 입력하면 몇 번째 수열인지 출력하면 된다. 숫자의 개수 N을 입력하고 1 또는 2를 입력한다. 1을 입력하면 몇 번째 수열을 구해야 하는지 k값을 입력하고, 2를 입력하면 몇 번째인지 구할 수열을 입력한다. 만약 N은 3을 입력하고 3번째 순열을 구하라고 한다면 (1, 2, 3), (1, 3, 2), (2, 1, 3) 이므로 (2, 1, 3)을 출력하면 된다. N은 3을 입력하고 수열 (2, 1, 3)을 입..
2025. 2. 27.
[C++] STL next_permutation을 공부하자
오늘은 C++의 STL 중 next_permutation을 공부해 보자.STL에는 컨테이너와 알고리즘 등이 있다고 했는데, next_permutation은 알고리즘에 해당한다.그래서 사용하기 위해서는 algorithm 헤더를 추가해야 한다.그럼 오늘은 permutation의 개념을 알아보고 next_permutation 활용 코드를 보자.permutation 이란?permutation이란 순열을 의미한다.예를 들어 1, 2, 3에서 3개를 뽑는 경우의 수는 (1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1) 등이 있다.앞에서 뽑았던 숫자를 다시 뽑더라도 순서를 고려해서 다른 경우의 수로 보는 것이 순열이다. next_permutation 이..
2025. 1. 3.