C++에서 algorithm 헤더파일에서 순열을 구할 수 있는 함수가 있다. 함수에 벡터의 iterator 혹은 배열의 주소를 넣으면 다음 순열 혹은 이전 순열의 결과를 벡터나 배열에 적용할 수 있다. 예를 들어 1-2-3-4의 다음 순열은 1-2-4-3, 1-2-4-3의 이전 순열은 1-2-3-4 이다. - next_permutation : 현재 나와 있는 수열에서 인자로 넘어간 범위에 해당하는 다음 순열을 구하고 true를 반환한다. 다음 순열이 없다면(다음에 나온 순열이 순서상 이전 순열보다 작다면) false를 반환한다. - prev_permutation : 현재 나와 있는 수열에서 인자로 넘어간 범위에 해당하는 이전 순열을 구하고 true를 반환한다. 이전 순열이 없다면(다음에 나온 순열이 순서..
어찌저찌 풀기는 한 문제이다. 그런데, 시간과 공간복잡도가 너무 크게 나온것 같다 ㅠㅠ 다른 사람의 풀이를 보던 중, 훨씬 성능이 좋은 방법을 알게되었고 이 과정에서 새로운 것들을 많이 알게 되어 정리하려고 한다. 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. 013은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니..