프로그래머스 | 옹알이 (1) [파이썬 python]

2023. 3. 16. 23:19·Algorithm/프로그래머스
 

프로그래머스

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

programmers.co.kr

 

코드

from itertools import permutations

def solution(babbling):
    answer = 0
    
    perm = [] # 가능한 모든 말
    for i in range(4): 
        perm.append(list(permutations(["aya", "ye", "woo", "ma"], i+1)))
        
    for i in range(len(perm)): # 튜플로 구성된 순열을 하나의 문자열로 바꿈
        for j in range(len(perm[i])):
            perm[i][j] = ''.join(list(perm[i][j]))

    for b in babbling: # 발음할 수 있는 단어인지 확인
        for i in range(len(perm)):
            if b in perm[i]:
                answer += 1
                
    return answer

순열을 사용하여 문제를 해결하였다.

먼저, 가능한 발음인 "aya", "ye", "woo", "ma"를 가지고 할 수 있는 발음을 permutations를 이용해 perm에 저장하였다.

1개를 사용했을 때, 2개를 사용했을 때, 3개를 사용했을 때, 4개 모두를 사용했을 때 가능한 발음을 모두 찾았다.

perm

두 번째로, perm은 튜플형태로 조합들이 저장되기 때문에 리스트 형태로 바꿔주었다. 그런 다음 한 리스트 안에 있는 조합들을 ''. join()을 이용하여 하나의 문장으로 이어주었다.

perm

마지막으로, babbling으로 주어지는 값이 perm 안에 있는지 확인하면 된다. 있으면 가능한 발음이므로 발음할 수 있는 개수를 저장하는 answer에 +1을 해준다.

 

이렇게 적고 보니 굉장히 단순해 보이는 문제 이긴 하나, 어떻게 가능한 발음들을 조합하여 주어지는 말이 가능한지 판별할 수 있을지 처음에는 무척 당황스러웠다. 

저작자표시 (새창열림)
'Algorithm/프로그래머스' 카테고리의 다른 글
  • 프로그래머스 | 종이 자르기 [파이썬 python]
  • 프로그래머스 | 문자열 밀기 [파이썬 python]
  • 프로그래머스 | 등수 매기기 [파이썬 python]
  • 프로그래머스 | 특이한 정렬 [파이썬 python]
dduniverse
dduniverse
  • dduniverse
    dduniverse
    dduniverse
  • 전체
    오늘
    어제
    • 분류 전체보기 (245)
      • Algorithm (123)
        • 알고리즘 이론 (8)
        • 백준 (19)
        • 프로그래머스 (83)
        • 구름 알고리즘 먼데이 챌린지 (13)
      • 빅데이터분석기사 (10)
        • 통계 (4)
        • 실기 (6)
      • KT에이블스쿨 (26)
      • FrontEnd (11)
        • React (5)
        • 기타 (6)
      • BackEnd (18)
        • Django (15)
        • Spring (3)
      • DS & ML (11)
        • Machine Learning (9)
        • Kaggle (2)
      • TIL (46)
        • python (22)
        • javascript (3)
        • 오류해결 (10)
        • 기타 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 관리
    • 글쓰기
  • 링크

  • 인기 글

  • hELLO· Designed By정상우.v4.10.0
dduniverse
프로그래머스 | 옹알이 (1) [파이썬 python]
상단으로

티스토리툴바