<commit_before>---
layout: post
title:  "Algorithm : Level3. 시저 암호"
date:   2017-10-12 15:10:41 +0900
categories: Algorithm
tag: [Algorithm]
---

어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다.<br>
A를 3만큼 밀면 D가 되고 z를 1만큼 밀면 a가 됩니다. 공백은 수정하지 않습니다.<br>
보낼 문자열 s와 얼마나 밀지 알려주는 n을 입력받아 암호문을 만드는 caesar 함수를 완성해 보세요.

<br><br>

- “a B z”,4를 입력받았다면 “e F d”를 리턴합니다.

내 풀이

```python
import string


def caesar(s, n):
    lowercase = list(string.ascii_lowercase)
    uppercase = list(string.ascii_uppercase)
    s = list(s)

    for i, char in enumerate(s):
        if char in lowercase:
            position = (lowercase.index(char) + n) % 26<commit_msg>update 알고리즘 시저암호 추가<commit_after>---
layout: post
title:  "Algorithm : Level3. 시저 암호"
date:   2017-10-12 15:10:41 +0900
categories: Algorithm
tag: [Algorithm]
---

어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다.<br>
A를 3만큼 밀면 D가 되고 z를 1만큼 밀면 a가 됩니다. 공백은 수정하지 않습니다.<br>
보낼 문자열 s와 얼마나 밀지 알려주는 n을 입력받아 암호문을 만드는 caesar 함수를 완성해 보세요.<br>
- “a B z”,4를 입력받았다면 “e F d”를 리턴합니다.

<br><br>



내 풀이

```python
import string


def caesar(s, n):
    lowercase = list(string.ascii_lowercase)
    uppercase = list(string.ascii_uppercase)
    s = list(s)

    for i, char in enumerate(s):
        if char in lowercase:
            position = (lowercase.index(char) + n) % 26
{'fraction_non_alphanumeric': 0.1145440844009043, 'fraction_numerical': 0.03617181612660136, 'mean_word_length': 2.9174041297935105, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1191712', 'n_tokens_mistral': 809, 'n_tokens_neox': 906, 'n_words': 190}