Python/백준 (BOJ)

[BOJ][B2]Vigenère Cipher Encryption - 3417

ㅋㅋ! 2025. 9. 27. 13:00

https://www.acmicpc.net/problem/3417

문제 전문은 링크 참조

문제가공

  1. 입력값 ( 암호화키, 문자열)을 두 줄로 받는다.
  2. 주어진 표를 참고하여 암호화 키로 문자열을 암호화 하여 출력하자.

코드작성

  • 표에서 찾은 규칙성 : key의 자리수 + 문자의 자리수 = 암호화된 알파벳의 자리수
  • 아스키코드를 이용하여 자리수를 찾아 출력해주는 메서드를 만들어 호출하자.
def crypt(key,value):
    asc = ord(key)+ord(value)
    return chr((asc+1)%26 +65)

while True:
    key = input()
    if key =='0' : break
    values = input()
    answer =''
    for i,v in enumerate(values):
        answer += crypt(key[i%len(key)],v)
    print(answer)

 

'Python > 백준 (BOJ)' 카테고리의 다른 글

[BOJ][B2]맥주 냉장고 - 3595  (0) 2025.09.29
[BOJ][B2]Adding Reversed Numbers - 3486  (0) 2025.09.28
[BOJ][B2]LUKA - 3234  (0) 2025.09.26
[BOJ][B2]dates - 3183  (0) 2025.09.25
[BOJ][B2]줄임말 만들기 - 3181  (0) 2025.09.24