[프로그래머스] Lv 2 모음사전 - Python

2023. 1. 15. 03:33·Programming/알고리즘
목차
  1. 1. 문제
  2.  
  3. 2. 제한사항 
  4.  
  5. 3. Python code
728x90

1. 문제

https://school.programmers.co.kr/learn/courses/30/lessons/84512

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다.

단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요.

 

2. 제한사항 

 

3. Python code

from itertools import product
def solution(word):
dictionary = []
for i in range(1,6):
for j in product('AEIOU', repeat=i):
dictionary.append(''.join(list(j)))
dictionary.sort()
return dictionary.index(word) +1

중복 순열이라 itertools에 있는 product를 사용해 풀면 쉽게 풀린다. 

 

product(리스트, repeat=n) 형식으로 사용하면 된다. 

product는 데카르트의 곱으로 정렬된 튜플 형식의 값을 반환한다.

 

리스트 [A, E, I, O, U]를 repeat 1부터 5까지 돌려준다.

repeat=1일때는 글자 1개(A, E, I, O, U), repeat=2일 때는 글자 두개(AA, AE, ...), repeat=5(AAAAA, ..., UUUUU)까지

처음에 선언해준 리스트에 append시킨다. 

주어진 word가 몇번째 인덱스에 있는지 찾기 위해 리스트를 정렬해준다.

 

 

 

저작자표시 비영리 변경금지 (새창열림)
  1. 1. 문제
  2.  
  3. 2. 제한사항 
  4.  
  5. 3. Python code
'Programming/알고리즘' 카테고리의 다른 글
  • [프로그래머스] 직사각형 넓이 구하기 - Python
  • [프로그래머스] 문자열 계산하기 - Python
  • [프로그래머스] Lv 0 암호 해독 - Python
  • [프로그래머스] Lv 0 컨트롤 제트 - Python
해치
해치
뭐라도 하자
  • 해치
    hi there
    해치
  • 글쓰기 관리자
  • 전체
    오늘
    어제
    • ALL (70)
      • Programming (62)
        • Python (14)
        • SQL (13)
        • 알고리즘 (35)
      • Framework (4)
        • Airflow (3)
        • Django (1)
      • Infra (3)
        • Docker (3)
        • Linux (0)
      • AWS (0)
      • Dashboard (1)
  • 블로그 메뉴

    • 링크

    • 인기 글

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    해치
    [프로그래머스] Lv 2 모음사전 - Python

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인
    상단으로

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.