DP 풀었다고 좋아했는데 그 문제만 우연히 풀린거였나보다,,, :( 꾸준히 하면 될꺼에요!!!!!!!!!!!!!!!
나의 문제점 1. 어렵게 생각한다. 규칙을 찾으면 그걸로 그냥 구현하면 되는데 더 나아가서 빨리 푸는 방법을 찾고싶어함. 예를 들면 2차원 배열에서 어떤 규칙성이 있지 않을까? 이러면서,,,,
2. 순서 고려안하는 조합의 경우의 수를 코드로 구현하는 게 어려웠음.
먼저 팀원들을 2개의 팀으로 나누는 방법.
인원이 6명이라고 할 때, 가능한 팀의 경우는
start team :
1, 2, 3
1, 2, 4
1, 2, 5
1, 2, 6
-------------
1, 3, 4
1, 3, 5
1, 3, 6
-------------
1, 4, 5
1, 4, 6
-------------
1, 5, 6
-------------
2, 3, 4
2, 3, 5
2, 3, 6
뿐이다. 첫 번째 자리가 2로 시작하는 팀원은(2,3,4 / 2,3,5/ ....) 이미 고려하지 않아도 됌. 중복됨. 왜냐면 start team, link team 인지는 상관이 없기 때문에!! (start team, link team 의 경우의 수도 순서를 고려안하는 조합인거징~~) 따라서 첫 번째는 고정값(1)로 되고, 나머지 두 번째, 세 번째 팀원만 뽑으면 된다. 팀원이 6명이 아닌 8명이거나 10명이여도 같다.
이것까지는 생각하긴 했지만 코드로 구현하는데 어려웠음 ㅜㅜ
참고한 코드 링크 : http://eine.tistory.com/53
=> 이 분 코드 깔끔함. 이 분은 DFS로 풀었음
이 분 코드에서 dfs로 팀원을 나누는게 어려웠음. 재귀함수 진행 과정을 이해하는 게 어려웠음ㅜㅜ 아래 사진보면 느낌 올꺼얌