본문으로 건너뛰기
김신건의 로그

[BOJ] 15087 DRM Messages

- python에서 ord, chr을 잘 활용하자. - 단계별로 최대한 함수를 나누어 구현해보면, 더 쉽게 문제가 해결된다.

· 📖 약 1분 · 60자/단어 #BOJ #PS #구현

문제 요약 및 풀이

15087번: DRM Messages

  • python에서 ord, chr을 잘 활용하자.
  • 단계별로 최대한 함수를 나누어 구현해보면, 더 쉽게 문제가 해결된다.

풀이 코드

def get_sum(s):
    return sum([ord(i) - 65 for i in s])


def rotate_chr(s, n):
    return chr((ord(s) - 65 + n) % 26 + 65)


def divide(s):
    return s[: len(s) // 2], s[len(s) // 2 :]


def rotate(s, n):
    return "".join([rotate_chr(i, n) for i in s])


def merge(a, b):
    return "".join([rotate_chr(a[i], ord(b[i]) - 65) for i in range(len(a))])


s = input()
s1, s2 = divide(s)

print(merge(rotate(s1, get_sum(s1)), rotate(s2, get_sum(s2))))

💬 댓글

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기