BOJ
[프로그래머스]모음사전
daniel7481
2022. 8. 15. 15:26
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/84512
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
AI Tech4기 1차를 합격하고 2차를 준비하며 알고리즘 문제들을 닥치는대로 풀고 있다. 너무 많은 문제를 풀고 있고 흐름이 끊길까봐 대부분의 문제들을 블로그에 포스팅하지는 못하고 있다. 이 문제 같은 경우에는 오랜만에 반복을 허용한 순열(product 함수)를 사용한 문제여서 포스팅해보았다.문제 자체는 word의 길이가 짧기 때문에 간단하게 브루트포스로 풀 수 있다. 모음 다섯개로 만들 수 있는 모든 문자열중에서 정렬을 한 후에 하나씩 탐색하며 만약 우리가 원하는 문자열이 나오면 answer에 i+1값을 할당해주면 된다.
from itertools import combinations_with_replacement
def solution(word):
answer = 0
pos = []
alphabet = ["A", "E", "I", "O", "U"]
for i in range(1, 6):
pos += map(list, combinations_with_replacement(alphabet, i))
pos.sort()
for i in range(len(pos)):
pos[i] = ''.join(pos[i])
for i in range(len(pos)):
if pos[i] == word:
answer = i+1
break
return answer
반응형