[Python] 코딩 도장 - 수 암호화 프로그램

Updated:

코딩 도장 사이트의 문제를 직접 풀어본 내용을 정리하여 올립니다.

코딩 도장에서 여러 문제를 확인할 수 있습니다.

난이도 순으로 차근차근 풀어보려 합니다.


[문제: 수 암호화 프로그램] - Lv.1

0~25만의 수 1개를 입력으로 받으면 그 수를 암호화하여 출력하는 프로그램을 작성하세요.

방법은 다음과 같습니다.

  1. 입력받은 수의 제곱근에 1000을 곱한다. (예시: 2 => 1.414213… * 1000 => 1414.213…)

  2. 1의 결과에서 소수점 이하를 버림한다. (예시: 1414.213… => 1414)

  3. 2의 결과에서 입력받은 수를 뺀다.(예시: 1414 => 1414 - 2 => 1412) 이렇게 하면 2를 입력받았을 때 1412를 출력합니다.

다음 결과로 테스트하세요.

>>> password(2)
1412
>>> password(125000)
228553
>>> password(250000)
250000
>>> password(100000)
216227

출처: https://codingdojang.com/scode/704?answer_mode=hide


[풀이]

def password(x):
    if (x >= 0) & (x <= 250000) & (type(x) == int):
        return int((x**0.5) * 1000) - x

password(2)

입력을 0에서 25만 사이의 정수로 정의하여 결과를 출력하였다.


[추천 풀이]

import math
def password(N):
    return math.trunc((N**0.5)*1000) - N

password(2)

딱히 추천 수가 많은 풀이가 없고 문제 자체가 간단해서 비슷하게 풀었다.

Leave a comment