[백준 1159] 농구 경기
개수를 빠르게 파악하기 위해서 Dictionary 자료형을 사용해보는 것이 하나의 좋은 방법이 될 수 있습니다.
collections 모듈에서 defaultdict를 import합니다.
defaultdict(기본값생성함수)는 없는 키에 접근하더라도 에러가 발생하지 않으며
인자로 입력한 기본값생성함수에 따른 기본값을 반환합니다.
기본값생성함수에는 lambda 함수 등 다양한 함수들이 사용될 수 있습니다.
이때 다음의 코드를 한번 살펴봅시다.
>>> int()
0
int() 함수는 인자가 없을 때 기본값으로 0을 반환합니다.
따라서 우리는 입력으로 주어진 단어들의 앞글자들만을 살펴본 후 개수를 파악하는 것이 주 목적이므로
int() 함수를 기본값생성함수로 설정해주면 바로 개수를 1개씩 더해가면서 counting할 수 있습니다.
기본적인 세팅을 마친 후 for문을 통해 이름을 N번 입력받으면서 앞글자를 key로 하는 value의 값을 1씩 더해줍니다.
(ex> ‘james’일 경우에는 딕셔너리 alpha에 alpha[‘j’] += 1)
이름을 모두 입력받은 후 딕셔너리의 키들을 가져올 수 있는 keys() 함수를 통해
value값이 5 이상인 키들을 ans라는 하나의 리스트에 모아놓습니다.
ans라는 리스트에 적어도 하나 이상의 요소가 존재한다면,
최종적인 답은 사전 순으로 출력해야하므로 sort() 함수로 정렬한 다음
리스트의 요소들을 모아서 출력해주는 join으로 답하면 됩니다.
그렇지 않다면 문제의 조건대로 PREDAJA를 출력하면 됩니다.
문제 : 백준 1159 - 농구 경기