draft 2021-02-03
https://www.acmicpc.net/problem/1864
두 가지 점에 유의해야 한다:
while
을 활용해보자. while True:
로 반복하고, break
를 이용해 while문을 빠져나올 것!bool
: 파이썬 내에서 참, 거짓을 나타내는 불(bool) 자료형 / boolean 값은 늘 대문자로 True
, False
로 표기해야 한다. \
는 파이썬의 이스케이프 코드에 사용되는 문자다.\
를 문자열 그대로로 사용하려면 \\
로 입력해줘야 한다!이스케이프 코드
: 프로그래밍에서 문자열을 출력할 때, 특정 역할을 하도록 정의해 둔 문자 조합. \
를 활용하여 정의한다. 예를 들어 \n
은 문자열 안에서 줄바꿈, \"
은 "
을 따옴표 그대로 표기할 때 사용된다.# true 안됩니다 True입니다 아무튼 while True일 동안 계속 돌아가요
while True:
CODE = input()
# 입력받은 값이 #인 경우 while문을 빠져나간다!
if CODE == "#":
break
else:
# 딕셔너리 [] 아니고 {}야 몽총아 정신차려!
dict = {"-": 0, "\\": 1, "(": 2, "@": 3, "?": 4, ">": 5, "&": 6, "%": 7, "/": -1, }
# 자릿수 l을 설정합시다 : 이건 안 설정해도 될까요? 설정하는게 좀더 가벼울까요?
l = len(CODE)
num = 0
# CODE는 string이므로, 앞쪽부터 순차적으로 순회합니다
for i in range(l):
num += dict[CODE[i]] * (8 ** (l - i - 1))
print(num)