반응형
풀이 언어 : PYTHON
def solution(word):
global alphabet
global dictionary
alphabet = ["A", "E", "I", "O", "U"]
dictionary = []
for a in alphabet :
DFS(a)
return dictionary.index(word)+1
def DFS(s) :
if len(s)>5 :
return
dictionary.append(s)
for char in alphabet :
DFS(s + char)
이번 문제는 출제자의 의도가 명확하게 보여서 좋았다.
어느모로 보나 이건 깊은 탐색을 사용하여 풀라고 만들어진 문제 같다.
A부터 시작해 DFS 탐색으로 알파벳을 하나씩 추가해주면서
단어의 길이가 5를 넘을 때 탐색을 종료시켜준다.
카운트를 세면서 목표 언어를 발견했을 때 함수를 종료시켜주는 방법도 있고 그게 작동 시간이 짧겠지만
난 그냥 사전의 모든 언어를 구해놓고 거기에서 목표 언어의 인덱스를 검색했다.
링크
반응형
'알고리즘' 카테고리의 다른 글
프로그래머스 위클리 체인지 6주차 - 복서 정렬하기 (0) | 2021.10.08 |
---|---|
프로그래머스 위클리 챌린지 2주차 - 상호평가 (0) | 2021.10.08 |
백준 18870번 좌표 압축 (0) | 2021.09.16 |
백준 2108번 통계학 (0) | 2021.09.16 |
백준 10989번 수 정렬하기 3 (0) | 2021.09.16 |
댓글