티스토리 뷰

📚 문제

입력

출력

예제 입력 1

11
44 0 38 41 38 31 23 8 41 30 38
Hello World

예제 출력 1

y

예제 입력 2

5
12 3 34 52 0
apple

예제 출력 2

n

🧑🏻‍💻 풀이 과정

  • 딕셔너리를 이용하여 평문과 비교할 암호문을 초기화 하자.(word_dit = init_dic())
  • 입력받은 암호문(secret_text)을 오름차순 정렬하자.
  • 평문(plain_text)에서 단어를 하나씩 추출하여 암호문으로 치환하고, 암호문과 비교하기 위해 오름차순 정렬도 잊지말자.(arr = sorted([word_dit.get(text) for text in plain_text]))
  • 서로 정렬된 결과를 비교하여 반환하자. (return 'y' if secret_text == arr else 'n')
def init_dic():
    word_dit = {" ": 0}
    for i in range(65, 91):
        word_dit[chr(i).upper()] = word_dit.setdefault(chr(i).upper(), i - 64)

    for i in range(97, 123):
        word_dit[chr(i).lower()] = word_dit.setdefault(chr(i).lower(), i - 70)

    return word_dit


def decoding():
    # 평문과 비교할 암호문 초기화
    word_dit = init_dic()
    n = int(input())

    # 암호문
    secret_text = sorted(list(map(int, input().split())))

    # 평문
    plain_text = input()

    # 평문을 암호문으로 치환
    arr = sorted([word_dit.get(text) for text in plain_text])

    # 일치하면 y, 아니면 n
    return 'y' if secret_text == arr else 'n'


print(decoding())
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함