관리 메뉴

솜씨좋은장씨

[Programmers] 가장 가까운 같은 글자 (Python) 본문

Programming/코딩 1일 1문제

[Programmers] 가장 가까운 같은 글자 (Python)

솜씨좋은장씨 2022. 12. 11. 12:00
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 가장 가까운 글자입니다.

 

프로그래머스

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

programmers.co.kr

👨🏻‍💻 문제 풀이

문자열 속 각 문자가 이전에 있던 자신과 같은 문자와 얼마나 가까이있는지를 구하는 문제입니다.

각 문자마다 가장 마지막으로 등장한 위치를 dictionary 를 하나 만들어서 거기에 저장해두고 

answer = []

word_dict = {}

for idx, word in enumerate(list(s)):
    if word not in word_dict:
        answer.append(-1)
        word_dict[word] = idx
    else:
        answer.append(idx - word_dict[word])
        word_dict[word] = idx

다시 등장할때 마다 현재 위치와 저장해둔 위치로 얼마나 가까운지 계산하고 

새로운 위치로 값을 업데이트 해주었습니다.

 

전체 코드는 아래를 참고해주세요.

👨🏻‍💻 코드 ( Solution )

def solution(s):
    answer = []
    
    word_dict = {}
    
    for idx, word in enumerate(list(s)):
        if word not in word_dict:
            answer.append(-1)
            word_dict[word] = idx
        else:
            answer.append(idx - word_dict[word])
            word_dict[word] = idx
            
    return answer

 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments