머신러닝 개발자의 러닝머신

[프로그래머스-가장 가까운 같은 글자] (Python) 본문

알고리즘/프로그래머스

[프로그래머스-가장 가까운 같은 글자] (Python)

oongsong 2023. 4. 12. 23:03
반응형

문제 

링크

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

알아두어야 하는 것

  • 딕셔너리 찾는 키값이 없으면 디폴트로 리턴하는 함수
    dic.get(찾는 키값, 디폴트 리턴값) 

 

문제 풀이

  • 말 그대로 앞에 나왔던 문자 중, 가장 가까운 문자와의 거리를 구하는 문제 
  • 딕셔너리를 이용해서 각 문자가 나오면 최신 인덱스로 업데이트 계속 해준다.
  • 찾는 문자의 앞에 나온 최신 인덱스와 현재 인덱스의 차이를 ans에 추가 

코드

def solution(s):
    answer = []
    
    dic = {} #인덱스 
    for i in range(len(s)):
        answer.append(i-dic.get(s[i], i+1))
        dic[s[i]] = i
    
    return answer
반응형