공부/코딩도장(python)

[코딩도장] 숫자 출력하기

콜라봇 2017. 12. 19. 14:33
SMALL

숫자 출력하기

20150111을 출력합니다.
4가지 기준만 만족하면 됩니다.

  1. 코드 내에 숫자가 없어야 합니다.
  2. 파일 이름이나 경로를 사용해서는 안됩니다.
  3. 시간, 날짜 함수를 사용해서는 안됩니다.
  4. 에러 번호 출력을 이용해서는 안됩니다.




1) 소스 코드

# date의 값은 '20150111', 문자열 타입
# True의 값은 1이고, False는 0이므로 True와 False를 문자열 타입으로 변환해 합연산을 함
date = str(int(True+True)) + str(int(False)) + str(int(True)) + str(int(True+True+True+True+True)) +\
str(int(False)) + str(int(True)) + str(int(True)) + str(int(True))

# int()로 10진수 int 타입으로 변환 후 출력
print(int(date))

2) 실행 결과


20150111



처음에는 아래의 소스 코드처럼 1부터 20150111까지의 숫자 중에서 임의의 수 x와 20150111에서 x를 뺀 y를 16진수로 변환시켜서

10~15(A~F)까지 알파벳으로만 이루어진 두개의 숫자를 찾아 더해서 10진수로 출력하려고 했으나,

그런 값을 찾을 수가 없었습니다.

for x in range(1,20150112):
y = 20150111 - x
if hex(x)[2:].isalpha() == True and hex(y)[2:].isalpha() == True:
print(hex(x),hex(y))
break



코딩도장 URL : http://codingdojang.com/scode/471?answer_mode=hide



LIST