애너그램 그룹 만들기


답안 제출

Points: 8
시간 제한: 2.0s
메모리 제한: 1G

문제 유형
허용된 언어
Python

두 단어가 같은 문자들을 같은 개수만큼 포함하면 서로 애너그램이라고 한다. 단어 리스트에서 서로 애너그램인 단어들을 같은 그룹으로 묶어 2차원 리스트로 반환하는 함수 group_anagrams를 작성하시오. 각 그룹 안의 단어는 사전순으로 정렬하고, 그룹들은 각 그룹의 첫 번째 단어를 기준으로 사전순 정렬한다. 같은 단어가 여러 번 주어지면 그 횟수만큼 결과에 포함한다.

함수 원형은 주어지지 않는다. 설명과 아래의 호출 코드를 보고 함수의 매개변수와 반환값을 직접 설계한다.

함수를 사용하는 코드

작성한 함수는 아래 코드와 함께 실행된다.

n = int(input())
words = [input() for _ in range(n)]

result = group_anagrams(words)

for group in result:
    print(*group)

print(type(result))

위 코드가 정상적으로 동작하도록 함수를 직접 정의한다. 제출할 때는 작성한 함수의 정의 전체만 제출한다.

입력

첫째 줄에 단어 수 n이 주어진다. 다음 n개 줄에 알파벳 소문자로 이루어진 단어가 하나씩 주어진다.

  • \(1 \le n \le 1,000\)
  • 각 단어의 길이는 \(1\) 이상 \(100\) 이하이다.

출력

각 애너그램 그룹을 한 줄에 출력한다. 함수는 정렬 규칙을 만족하는 2차원 list를 반환해야 한다.

마지막 줄에는 함수가 반환한 값의 자료형을 출력한다.

예제 입력 1

6
eat
tea
tan
ate
nat
bat

예제 출력 1

ate eat tea
bat
nat tan
<class 'list'>

예제 입력 2

3
ab
ba
abc

예제 출력 2

ab ba
abc
<class 'list'>

코멘트

현재 작성된 코멘트가 없습니다.