반응형 C++40 [C/C++] 순열과 조합 알고리즘 구현하기 1 "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다." 고등학생 때 배우는 내용 중 순열과 조합이 있다. 흔히 nCr, nPr이라고 부르는데, 'r 개 중에 n개를 고르는 방법'과 같은 이야기들이 모두 순열과 조합에서 나오는 이야기이다. 여기에서 중복되거나 중복되지 않도록 선택하는것에 따라 C 또는 P로 나뉘게 된다. 그래서 오늘은 이 중 순열에 대해서 먼저 공부하는 시간을 가져보자!최근 조합론을 공부하면서 순열과 조합에 대해서 다시 살펴보게 되었다.한 번 공부해두면 프로그래밍을 하는데 큰 도움이 되니 꼭 숙지하도록 하자.순열 nPr 순열은 Permutation이라고도 하며, n개의 숫자 중 r개를 고를 경우의 수를 의미한다.예를 들어 1, 2, 3 중 2개의 숫자.. 2024. 12. 24. 15649 C++ 백트래킹 문제 풀이 오늘은 백트래킹에 대해서 공부하기 위해 가장 위에 있는 문제를 풀어보기로 했다. 백트래킹이라는 이론 자체를 처음 접하기 때문에 가장 쉬운 문제를 풀기로 했다. https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 설명 자연수 N과 M이 주어졌을 때 N까지의 숫자 중 M개를 선택해서 만들 수 있는 모든 수열을 나열하는 것이다. 보통 이런 문제는 경우의 수가 몇 개인지를 맞추는 경우면 간단히 다이나믹 프로그래밍을 사용하면 되는데, 이 문제는 직접.. 2024. 2. 6. 10872 C++ 팩토리얼 문제 풀이 오늘은 팩토리얼 문제를 풀어보려고 한다. 10872번 문제이고, 팩토리얼을 구현하는 문제이다. https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 설명 이 문제는 정수 N을 입력 받아 N!을 구해서 출력하면 된다. 아주 간단하다. 고등학생 때 배우는 내용인 팩토리얼은 아래와 같은 식을 쓴다. 3! = 3 x 2 x 1 이렇게 N을 입력 받으면 N부터 1까지 1씩 감소하면서 곱하는 것이 바로 팩토리얼이다. 그럼 이것을 함수로 구현하면 되는데, 이때 많이 쓰는 함수가 바로 재귀함수이다. 문제 풀이 팩토리얼 함수 구현을 위한 재귀함수를 먼저 구현해보자.. 2024. 2. 5. 공백을 포함한 문자열 입력 받기 (getline 함수 활용하기) 오늘은 공백을 포함한 문자열을 입력 받기 위해 getline 함수를 활용하는 방법을 공부한다. 그리고 getline 함수로 데이터를 입력 받고 출력할 때 입력한 문자가 출력되는 것이 아닌 개행이 되는 이유를 알아보고 ignore 함수를 어떻게 적용하는지 알아본다. 문자를 입력 받기 위해서는 문자형 변수를 생성하고 cin이나 scanf를 통해서 변수에 입력을 한다. 문자형 변수로 많이 쓰는 데이터 타입은 char형이나 string이다. 두 가지 예시를 들어보면 아래와 같다. 1. char형 변수를 생성하여 문자열 입력 받기 char c[100]; cin >> c; char형 변수 c를 배열로 생성하여 여러 개의 문자를 입력 받거나 포인터를 활용하는 방법이 있다. 2. string형 변수를 생성하여 문자열 .. 2024. 2. 5. 이전 1 2 3 4 5 6 ··· 10 다음 반응형