Python으로 구현한 1864번 문어 숫자 문제 풀이입니다.
https://www.acmicpc.net/problem/1864
while True :
value = input()
if value == '#' :
break
result = 0
number = -1
for i in range(len(value)-1, -1, -1) :
if value[i] == '-' :
number += 1
elif value[i] == '\\' :
number += 1
result += 8 ** number
elif value[i] == '(' :
number += 1
result += 2 * (8 ** number)
elif value[i] == '@' :
number += 1
result += 3 * (8 ** number)
elif value[i] == '?' :
number += 1
result += 4 * (8 ** number)
elif value[i] == '>' :
number += 1
result += 5 * (8 ** number)
elif value[i] == '&' :
number += 1
result += 6 * (8 ** number)
elif value[i] == '%' :
number += 1
result += 7 * (8 ** number)
else :
number += 1
result += -1 * (8 ** number)
print(result)
1. 입력받은 문자가 '#'일 때까지 while문을 통해 반복 수행한다.
2. 반복문을 통해 입력받은 문자열을 거꾸로 하나씩 확인하여 해당되는 문자에 대하여 number값을 1 증가시키고
문제에서 제시한 각 기호에 대응하는 숫자에 8진법 계산형식을 적용하여 result에 누적한다.
3. 문자열에 존재하는 모든 문자를 하나씩 모두 확인하여 수행한 뒤 최종적으로 result를 출력한다.
'백준(Python) 풀이 > 수학' 카테고리의 다른 글
백준(Python) 8949번 대충 더해 풀이 (0) | 2021.11.14 |
---|---|
백준(Python) 11134번 쿠키애호가 풀이 (0) | 2021.11.14 |
백준(Python) 4150번 피보나치 수 풀이 (0) | 2021.11.12 |
백준(Python) 14623번 감정이입 풀이 (0) | 2021.11.12 |
백준(Python) 8974번 희주의 수학시험 풀이 (0) | 2021.11.12 |