백준 [ALGORITHM] - ROT13 (4446)

2024. 9. 9. 18:23코딩/백준 [ALGORITHM]

반응형
while True:
    vowel = ['a', 'i', 'y', 'e', 'o', 'u']
    letters = ['b', 'k', 'x', 'z', 'n', 'h', 'd', 'c', 'w', 'g', 'p', 'v', 'j', 'q', 't', 's', 'r', 'l', 'm', 'f']
    result = []

    try:
        lst = list(input())
        for i in range(len(lst)):
            char = lst[i]
            if char.lower() in vowel:
                if char.isupper():
                    temp = vowel.index(char.lower())
                    result.append(vowel[(temp + 3) % 6].upper())
                else:
                    temp = vowel.index(char)
                    result.append(vowel[(temp + 3) % 6])
            elif char.lower() in letters:
                if char.isupper():
                    temp = letters.index(char.lower())
                    result.append(letters[(temp + 10) % 20].upper())
                else:
                    temp = letters.index(char)
                    result.append(letters[(temp + 10) % 20])
            else:
                result.append(char)

        print(''.join(result))
    except EOFError:
        break
반응형