[Q. 05] 그룹 애너그램

2023. 3. 16. 17:10·코딩테스트/알고리즘
문자열 배열을 받아 애너그램 단위로 그룹핑하라.

 

애너그램은 문자열을 재배열해서 다른 문자로 만드는 것이다. 문제에서 말하는 애너그램 단위는 문자열 위치를 재배열하면 같은 문자가 되는 그룹들을 말하는 것이다.

먼저, 문자열을 정렬하여 딕셔너리 key로 생성 후 값을 빈 리스트로 초기화한다.

for s in strs:
    ana = list(s)
    ana.sort()    
    ana = ''.join(ana)

    if result.get(ana) == None:
        result[ana] = []

 

그 다음 원래 문자열을 해당 키의 배열에 추가한다.

result[ana].append(s)

 

전체 코드는 다음과 같다.

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:

        result = {}

        for s in strs:
            ana = list(s)
            ana.sort()
            ana = ''.join(ana)

            if result.get(ana) == None:
                result[ana] = []

            result[ana].append(s)

        return list(result.values())

 

저작자표시 비영리 변경금지 (새창열림)

'코딩테스트 > 알고리즘' 카테고리의 다른 글

[Q. 07] 두 수의 합  (0) 2023.03.20
[Q. 06] 가장 긴 팰린드롬 부분 문자열  (0) 2023.03.16
[Q. 04] 가장 흔한 단어  (0) 2023.03.15
[Q. 03] 로그 파일 재정렬  (0) 2023.03.15
[Q. 02] 문자열 뒤집기  (0) 2023.03.15
'코딩테스트/알고리즘' 카테고리의 다른 글
  • [Q. 07] 두 수의 합
  • [Q. 06] 가장 긴 팰린드롬 부분 문자열
  • [Q. 04] 가장 흔한 단어
  • [Q. 03] 로그 파일 재정렬
뚝딱뚝딱2
뚝딱뚝딱2
  • 뚝딱뚝딱2
    개발도상국
    뚝딱뚝딱2
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 공부
        • Java
        • Spring Boot
        • LORA
      • Web
        • 인스타 클론 코딩
        • GPT 응답 API 서버
        • Spring Boot 예외 처리
        • 코테 준비용 서비스 만들기
      • DevOps
        • 쿠버네티스
        • 서버 만들기
      • 코딩테스트
        • 알고리즘
      • 교육
        • 스파르타코딩클럽 - 내일배움단
        • 혼자 공부하는 컴퓨터 구조 운영체제
      • 잡다한것
  • 블로그 메뉴

    • 홈
  • 링크

    • GITHUB
  • 공지사항

  • 인기 글

  • 태그

    클론코딩
    인스타그램
    OpenAI API
    react
    spring boot
    리액트
    오블완
    mapstruct
    MSA
    쿠버네티스
    Java
    chat GPT
    클러스터
    티스토리챌린지
    REST API
    백준
    스프링 부트
    Entity
    예외
    스프링부트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
뚝딱뚝딱2
[Q. 05] 그룹 애너그램
상단으로

티스토리툴바