https://school.programmers.co.kr/learn/courses/30/lessons/84512
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
주어진 문자가 사전적으로 몇번째 단어가 되는지 찾아내는 문제이다.
나같은 경우, dfs로 구현을 하였는데, 시간적으로 좋은 코드는 아님....(그냥 오랜만에 dfs로 문제를 풀어본것)
주어진 문자와 같게끔 만드는데 몇번의 과정을 거치는지 찾는 문제.
dfs를 사용하면, 중간에 return 시키지 못하고 전체 다 탐색 이후 결과를 출력할 수 있는데 이부분에서 시간이 너무 많이 잡아먹는다.
하지만 출제자가 시간을 여유롭게 잡아준 탓에 고맙게도 풀렸습니당
def dfs(start, level, word):
global cnt
global answer
arr = ["A", "E", "I", "O", "U"]
if start == word:
answer = cnt
return
if level ==5:
return
for i in range(5):
cnt +=1
dfs(start + arr[i], level+1, word)
cnt = 0
answer = 0
def solution(word):
global answer
dfs("",0, word)
return answer
'Algorithm > programmers' 카테고리의 다른 글
[파이썬]programmers: 거리두기 확인하기 (0) | 2022.12.26 |
---|---|
[파이썬]불행한 수 (0) | 2022.12.12 |
[파이썬]programmers: 땅따먹기 (0) | 2022.12.09 |
[파이썬]programmers: 주식가격 (1) | 2022.12.09 |
[파이썬]programmers: 롤케이크 자르기 (0) | 2022.12.08 |
댓글