모험가 길드
사용자로부터 모험가의 명수와 각 모험가의 공포도를 입력 받는다.
우리는 이 모험가들로 그룹을 나누어 던전을 입장하려 한다.
하지만 모험가의 공포도를 고려하여 해당 모험가의 공포도 만큼 인원수를 구성하여 그룹을 만들어야 한다.
만약 공포도가 3인 모험가가 있다면 그 그룹에는 3명의 모험가가 필요하다.
하지만 모든 모험가가 그룹에 속할 필요는 없다. 마을을 지킬 인원이나 식사 추진을 할 인원도 필요하다.
이 때, 입력받은 데이터를 토대로 최대로 만들 수 있는 그룹의 숫자는 몇 개일까
만약 모험가의 명수는 5이며, 각 모험가의 공포도는 2 3 1 2 2 라면
3 2 2
1 2
두 그룹으로 나누어 모험을 떠날 수 있다.
이를 구현하기 위한 기본적인 아이디어는 다음과 같다.
1. while문을 돌며 현재 리스트의 원소들로 그룹핑이 가능한지 검사한다
2. 만약 가능하다면 리스트의 첫번째 원소를 확인하고 그 값만큼 for문을 반복한다.
3. for문 안에서는 리스트의 원소를 Pop연산을 통해 제거한다.
4. for문의 작동이 종료되면 그룹의 갯수가 증가하였다는 의미로 count 변수를 1 증가시킨다.
파이썬을 통한 구현

비밀 댓글입니다.
답글삭제비밀 답글입니다.
삭제어머~ 멋져요 퍼가요~^^
답글삭제효중 횐님~
삭제좋은 하루 보내세요~*^^*