알고리즘
[프로그래머스, 파이썬] 가장 가까운 같은 글자
hminor
2024. 2. 28. 12:05
반응형
풀이
- 딕셔너리를 활용한 풀이로 초기 값으로는
- 중복을 제거한 s 문자열 요소로 하여 -1로 초기화
- 이후 해당 값이 -1의 경우 해당 값을 result로 넣어주고
- 아니면 현재 문자 위치에 해당 값을 뺀 값을 result로 추가
- 조건식이 끝난 이후 key 값인 현재 문자의 값에 현재 위치를 넣어 해결
def solution(s):
result = []
dic = {i:-1 for i in set(s)}
for i in range(len(s)):
if dic.get(s[i]) != -1: result.append(i-dic[s[i]])
else: result.append(-1)
dic[s[i]] = i
return result