[CodeUp] 1408, 1418

ㅎㅎ·2021년 5월 11일
0

algorithm 풀이

목록 보기
32/44
post-custom-banner

문제 1408번

인터넷 서비스들은 대부분 아이디와 패스워드(password)를 이용한다.

이때 사용되는 패스워드는 여러 가지 방법으로 암호화되어 저장된다.

[어떤 인터넷 서비스의 2가지 암호화 방법]

  • 입력받은 문자의 ASCII 코드값 + 2

  • (입력받은 문자의 ASCII 코드값 * 7) % 80 + 48

사용자의 패스워드를 2가지 방법으로 암호화한 결과를 출력하는 프로그램을 작성하시오.

입력

첫 번째 줄에 20자 이내로 구성된 암호를 입력한다.(단, 입력되는 암호에 공백은 포함되어있지 않다.)

출력

① 첫 번째 줄에는 첫 번째 방식으로 암호화한 결과를 출력 한다.

② 두 번째 줄에는 두 번째 방식으로 암호화한 결과를 출력 한다.

코드1

arr = input()

#첫번째
for i in arr:
    a = ord(i)
    b = chr(a+2)
    print(b, end="") #출력모양 맞추기
print()

#두번째
for i in arr:
    c = ord(i)
    d = chr((c*7) % 80 +48)
    print(d,end="")

설명

  • 문자열을 돌면서 문자 하나씩 아스키코드로 변환시킨 후, 조건을 더해준 후 출력.
    • 문자열 -> 아스키 코드 ord()
    • 아스키 -> 문자열 chr()

문제 1418번

어떤 문자열이 있을 때 문자 t의 위치를 모두 찾아 출력하시오.

입력

공백이 없는 문자열이 한 줄 입력된다.(10글자 이하)

출력

소문자 t의 위치를 공백으로 분리하여 모두 출력하시오.

코드1

arr = input()


n = 0 
for i in arr:
    if i == "t":
        print(n+1, end=" ")
    n += 1

설명

  • n을 선언한후 i 가 t가 아닐때는 n이 1씩 증가하고, t일때 n+1이 출력
post-custom-banner

0개의 댓글