[Python] 코딩 도장 - 수 암호화 프로그램
Updated:
코딩 도장 사이트의 문제를 직접 풀어본 내용을 정리하여 올립니다.
코딩 도장에서 여러 문제를 확인할 수 있습니다.
난이도 순으로 차근차근 풀어보려 합니다.
[문제: 수 암호화 프로그램] - Lv.1
0~25만의 수 1개를 입력으로 받으면 그 수를 암호화하여 출력하는 프로그램을 작성하세요.
방법은 다음과 같습니다.
-
입력받은 수의 제곱근에 1000을 곱한다. (예시: 2 => 1.414213… * 1000 => 1414.213…)
-
1의 결과에서 소수점 이하를 버림한다. (예시: 1414.213… => 1414)
-
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