[C/C++] 순열과 조합 알고리즘 구현하기 3
저번 시간까지 순열의 개념을 학습하고, 일반적인 순열과 중복이 가능한 순열을 알고리즘으로 구현하는 방법을 알아보았다.오늘은 조합에 대해서 알아보고 알고리즘을 구현해 보자.조합 조합이란 Combination이라고도 하며 순열과 마찬가지로 n개 중에서 r개를 고르는 경우의 수를 의미한다.순열과 다른 점은 순서를 고려하지 않는 다는 것이다.여기서 순서란 이런 의미이다.순열의 경우 1, 2, 3 중에서 2개를 고를 때 (1, 2), (1, 3), (2, 1) ... 순서로 1과 2를 뽑았더라도 나중에 2와 1 순서로 다시 한 번 뽑을 수 있는 것이다.하지만 조합은 (1, 2)와 (2, 1)를 같은 것으로 본다.그러므로 1, 2, 3 중에서 2개를 고른다면 조합은 (1, 2), (2, 3), (3, 1) 3개의 ..
2024. 12. 26.
9466 텀 프로젝트 C++ 문제 설명 및 풀이
안녕하세요 판타지코딩월드입니다! 오늘은 9466번 텀 프로젝트 문제 C++로 설명 및 풀이 하겠습니다.1. 문제 설명 이 문제는 각 학생이 함께 프로젝트를 진행하길 원하는 학생 번호를 제시하면, 원하는 학생끼리 팀을 꾸려 몇 명의 학생이 팀 꾸리기에 성공했는지를 알아보는 문제이다. 답으로는 프로젝트 팀에 합류하지 못한 학생 수를 출력한다. 아래 예시 사진으로 어떤 의미인지 이해해 보자. 1, 2, 3, 4, 5 학생이 각각 2, 3, 3, 5, 4 번 학생과 함께 프로젝트 팀을 꾸리길 원한다. 프로젝트 팀 꾸리기가 가능한 경우는 1->2, 2->3, 3->1 이런 형태로 서로가 원하거나, 3->3 처럼 자기 혼자 하길 원하는 경우이다. 위의 예시에서 몇 개의 팀이 꾸려지는지 확인해보자. 먼저 1번 학생은..
2024. 6. 12.