풀이
- 딕셔너리를 활용한 풀이로 초기 값으로는
- 중복을 제거한 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
'알고리즘' 카테고리의 다른 글
[프로그래머스, 파이썬] 모음 사전 (0) | 2024.02.29 |
---|---|
[프로그래머스, 파이썬] 최빈값 구하기 (0) | 2024.02.29 |
[프로그래머스, 파이썬] 피로도 (0) | 2024.02.28 |
[프로그래머스, 자바] 완주하지 못한 선수 (0) | 2024.02.26 |
[프로그래머스, 파이썬] 완주하지 못한 선수 (0) | 2024.02.26 |