Python/Algorithm

[프로그래머스] 둘만의 암호 - Python

언킴 2023. 9. 8. 19:12
반응형

해당 문제는 프로그래머스 기준 Level 1에 해당하는 문제로 쉽게 해결할 수 있는 문제다. 

 

문제의 핵심을 간략하게 살펴보면, skip에 해당하는 단어는 넘어가고, 단어가 있는 곳에서 index 만큼 떨어진 알파벳으로 변환하면 끝이다. 

def solution(s, skip, index):
    answer = ''
    alphabet = 'abcdefghijklmnopqrstuvwxyz'
    
    for sk in skip:
        alphabet = alphabet.replace(sk, '')
    
    for a in s:
        idx = (alphabet.index(a) + index ) % len(alphabet)
        answer += alphabet[idx]
    
    return answer

먼저, skip에 해당하는 단어를 replace한다. 그런 다음, 단어의 index를 찾고, index만큼 더해준다. 뒤에 % len(alphabet)을 한 이유는 z를 넘어가면 다시 a부터 시작해야 하기 때문이다.