728x90
반응형
문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/142086
풀이:
def solution(s):
res =[]
for i in range(0,len(s)):
if s[i] not in s[:i]:
res.append(-1)
else:
str = s[:i][::-1]
res.append(str.find(s[i]) + 1)
return res
else 문은
만약 ban / a 일때
가장 가까운 a를 찾아야하므로 뒤집어진 ban를 닮을 str를 만들어주고
find로 가장 가까이 있는 인덱스 찾아서 인덱스는 0 부터 시작하니 1 을 더해줘서 리턴
다른 방법으로는 딕셔너리 방법이있음
def solution(s):
answer = []
dic = dict()
for i in range(len(s)):
if s[i] not in dic:
answer.append(-1)
else:
answer.append(i - dic[s[i]])
dic[s[i]] = i
return answer
반응형
댓글