Computer Science/Algorithm
[Programmers] Level 1 - 가장 가까운 같은 글자
ddu0422
2023. 7. 3. 15:51
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
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
채점 결과
