볼링공 고르기
문제 N개의 볼링공을 같은 무게라도 번호가 다르면 서로 다른 공으로 간주할 때, 두 사람이 서로 다른 무게의 볼링공을 고를 수 있는 모든 경우의 수를 구하라. 아이디어 1. for, for 해서 모든 순열을 구한다. 2. 조합 - 같은 번호를 가진 볼링공 수 3. 기록을 통한 체크 입력 (1, 3, 2, 3, 2) - 출력 8 번호 : (1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 5), (3, 4), (4, 5) 무게 : (1, 3), (1, 2), (1, 3), (1, 2), (3, 2), (3, 2), (2, 3), (3, 2) - 볼링공의 조합을 생각해보면 결과적으로는 번호가 다르고 무게가 달라야한다. - 1. 번호를 고려해서 생각해보면 for 문 이외에는 생각이 ..
모험가 길드
문제 공포도가 X인 모험가는 반드시 X명 이상의 길드원이 필요하다. 예를 들어, 한 모험가의 공포도가 3이면 그 사람은 3명 이상의 길드에 들어간다. 모험가들의 수, 각각의 공포도가 주어질 때, 만들 수 있는 길드의 최대 수를 구하라 (단, 모든 모험가가 길드에 속할 필요는 없다.) 유형 파악 그리디 문제들은 최소한의, 최대한의, 가장 큰, 가장 작은 등의 단어가 들어간다. 이런 단어가 나온다면 항상 그리디는 아니지만 그리디를 먼저 의심하는 습관이 필요하다. 아이디어 및 정당성 만약, 공포도가 2 3 1 2 2이라고 가정하자 이 때, 정렬하면 1 2 2 2 3 이다. 1은 혼자서도 그룹이 가능하다. 2는 둘 이상의 사람이 필요하다, 3은 세명 이상의 사람이 필요하다. "공포도가 적은 사람일 수록 많은 팀..