728x90
🔗 문제 링크
📁 분류
구현
💡 풀이
주어진 문자열 s
에 대해 각 문자의 위치에서 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자의 위치를 계산하는 문제이다.
딕션너리를 활용하여 각 글자의 마지막 위치를 기록하고, 이를 이용해 거리를 계산하여 answer에 저장하면 된다.
💻 코드
def solution(s):
answer = []
dic = {}
for i, ch in enumerate(s):
if ch not in dic:
answer.append(-1)
else:
answer.append(i - dic[ch])
dic[ch] = i
return answer
728x90
'Algorithm > 프로그래머스' 카테고리의 다른 글
[python] 프로그래머스 Lv 1 - 명예의 전당 (1) (0) | 2023.10.08 |
---|---|
[python] 프로그래머스 Lv 1 - 문자열 나누기 (0) | 2023.10.06 |
[python] 프로그래머스 Lv 1 - 크기가 작은 부분 문자열 (1) | 2023.10.04 |
[python] 프로그래머스 Lv 1 - 개인정보 수집 유효기간(2023 KAKAO BLIND RECRUITMENT) (0) | 2023.10.03 |
[python] 프로그래머스 Lv 1 - 둘 만의 암호 (1) | 2023.10.02 |