DHistory
[Programmers] Level 1 - 가장 가까운 같은 글자 본문
문제
풀이
def solution(s):
answer = []
dictionary = {}
for i in range(len(s)):
alpha = s[i]
# 처음 나오는 문자인 경우 결과에 -1을 저장합니다.
# 현재 문자열의 index를 문서에 저장합니다.
if dictionary.get(alpha) == None:
answer.append(-1)
dictionary.setdefault(alpha, i)
# 2번 이상 나온 문자인 경우 결과 몇 번째만에 나왔는지 확인합니다. (현재 index - 기존 index)
# 몇 번째만에 해당 문자가 나왔는지 계산하여 결과에 저장합니다.
# 현재 문자열의 index를 문서에 저장합니다.
else:
count = i - dictionary[alpha]
answer.append(count)
dictionary[alpha] = i
return answer
채점 결과
'Computer Science > Algorithm' 카테고리의 다른 글
[Programmers] Level 1 - 기사단원의 무기 (0) | 2023.07.05 |
---|---|
[Programmers] Level 1 - 명예의 전당 (1) (0) | 2023.07.05 |
[Programmers] Level 1 - 크기가 작은 부분 문자열 (0) | 2023.07.03 |
[Programmers] Level 1 - 개인정보 수집 유효기간 (0) | 2023.06.29 |
[Programmers] Level 1 - 둘만의 암호 (0) | 2023.06.28 |