코딩테스트
가장 가까운 같은 글자
개발천재나천재
2023. 1. 13. 23:47
문제
https://school.programmers.co.kr/learn/courses/30/lessons/142086
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
해설
"""
문제 해결 방법
1. dic를 하나 생성 -> key : 해당 단어 value : 위치
2. s를 돌면서 dic에 없으면 answer -1 and dic에 추가, dic에 있으면 answer (현재 위치 - 해당 단어위치) and dic에 추가
"""
def solution(s):
answer = []
s_list = list(map(str, s))
wordAndLocation = {}
for i in range(len(s_list)):
if (s_list[i] not in wordAndLocation):
answer.append(-1)
wordAndLocation[s_list[i]] = i
else:
answer.append(abs(i - wordAndLocation[s_list[i]]))
wordAndLocation[s_list[i]] = i
return answer