[Python/백준] #11655- [ROT13]

2021. 12. 1. 17:32·코딩테스트/백준[Python]

[ROT13]-11655번

 

11655번: ROT13

첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다.

www.acmicpc.net

My answer

s=input()
for i in range(len(s)):
    if(s[i].isalpha()==1):
        tmp=ord(s[i])+13
        if('a'<=s[i]<='z'):
            if(tmp>122): tmp-=26
            s=s[:i]+chr(tmp)+s[i+1:]
        else:
            if(tmp>90): tmp-=26
            s=s[:i]+chr(tmp)+s[i+1:]
            
print(s)

 

Another answer

import codecs
print(codecs.encode(input(),"rot13"))
--------------------------------------
def f(c):
    i=ord(c)
    if i>96:return chr((i-84)%26+97)
    if i>64:return chr((i-52)%26+65)
    return c
print(''.join(map(f,input())))
더보기

우선 나는 아스키코드로 문제를 풀기 위해서 ord()와 chr()을 사용해서 문제를 풀었다. 우선 대문자와 소문자를 나눈뒤에 z,Z가 넘어가면다시 앞으로 와야하므로 넘어갈경우 -26을 해줬다. 아래 코드중 위에 함수는 codecs라는 모듈을 이용했는데, 그안에 rot13이 기본으로 있다고 한다. 이런 고급기술은 나중에 여유가 되면 외우자..그 아래 코드는 나와 비슷한 방식인데, 대문와 소문자를 구분하고, 저기서 84와 52를 빼줬는데 그게 무엇인지모르겠다.. 97과 65를 더한것은 나머지에서 다시 'a'와 'A'를 더해준건데.. 

 

728x90

'코딩테스트 > 백준[Python]' 카테고리의 다른 글

[Python/백준] #1406- [에디터] [try_again]  (0) 2021.12.03
[Python/백준] #11656- [접미사 배열]  (0) 2021.12.02
[Python/백준] #10820- [문자열 분석]  (0) 2021.12.01
[Python/백준] #10809- [알파벳 찾기]  (0) 2021.12.01
[Python/백준] #10808 - [알파벳 개수]  (0) 2021.12.01
'코딩테스트/백준[Python]' 카테고리의 다른 글
  • [Python/백준] #1406- [에디터] [try_again]
  • [Python/백준] #11656- [접미사 배열]
  • [Python/백준] #10820- [문자열 분석]
  • [Python/백준] #10809- [알파벳 찾기]
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (471)
      • 알쓸신잡 (79)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    이것이취업을위한코딩테스트다
    DFS
    이코테
    나동빈
    dp
    파이썬
    백준
    이분탐색
    BFS
    그리디
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3

HOME

HOME

상단으로

티스토리툴바