관리 메뉴

솜씨좋은장씨

[BaekJoon] 1718번 : 암호 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 1718번 : 암호 (Python)

솜씨좋은장씨 2022. 8. 30. 23:53
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 암호 입니다.

 

1718번: 암호

Vigenere cipher이라는 암호화 방법은 암호화하려는 문장 (평문)의 단어와 암호화 키를 숫자로 바꾼 다음, 평문의 단어에 해당하는 숫자에 암호 키에 해당하는 숫자를 더하는 방식이다. 이 방법을 변

www.acmicpc.net

👨🏻‍💻 코드 ( Solution )

def encrypt_word(word, key):
    return chr((ord(word) - ord(key) - 1) % 26 + ord("a")) if word != " " else word
    
def encrypt_func(plain_text, key_text):
    encrypted_text = ""
    key_text_len = len(key_text)
    
    for idx, word in enumerate(plain_text):
        encrypted_word = encrypt_word(
            word=word, key=key_text[idx % key_text_len]
        )
        
        encrypted_text += encrypted_word
        
    return encrypted_text
        

if __name__ == "__main__":
    plain_text = input()
    key_text = input()
    
    print(encrypt_func(plain_text=plain_text, key_text=key_text))
 

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