11/10 가장 가까운 같은 글
https://school.programmers.co.kr/learn/courses/30/lessons/142086
.
문자열에서 각 글자가 앞에 같은 글자가 나왔다면, 몇칸 떨어져있는지 리턴하는 문제이다.
뒤로갈수록 문제가 길어져서 이해하는것도 꽤 오래 걸리는것 같다..
내 풀이
def solution(string):
answer = []
alp_idx = {s : -1 for s in string}
for idx, s in enumerate(string) :
if alp_idx[s] == -1 : # 처음 등장
answer.append(-1) # -1 리턴
else :
diff = idx - alp_idx[s] # 인덱스의 차이
answer.append(diff)
alp_idx[s] = idx # 해당 글자 인덱스를 현재 인덱스로 갱신
return answer
댓글남기기