
https://www.acmicpc.net/problem/1864
문제 전문은 링크 참조
문제가공
- 특수 문자별로 숫자를 매핑한다.
- 변환된 숫자의 8진수를 10진수로 출력한다.
코드작성
- 코드 내에서는 편하게 짜려고 문자열을 reverse하고 8진수의 제곱 수를 증가시켰는데,
- 문자열을 뒤집지 않고 제곱 수를 감소시켜서 구현하는게 더 효율적일 듯 하다.
num ={'-':0,
'\\':1,
'(' :2,
'@' :3,
'?' :4,
'>' :5,
'&' :6,
'%' :7,
'/' :-1}
while True:
s = input()
if s == '#': break
reverse = s[::-1]
answer=0
for idx, c in enumerate(reverse):
answer += num[c] * (8 ** idx)
print(answer)'Python > 백준 (BOJ)' 카테고리의 다른 글
| [BOJ][B2]애너그램 만들기 - 1919 (0) | 2025.08.15 |
|---|---|
| [BOJ][B2]좋은 자동차 번호판 - 1871 (0) | 2025.08.14 |
| [BOJ][B2]폭죽쇼- 1773 (3) | 2025.08.12 |
| [BOJ][B2]추론 - 1731 (0) | 2025.08.11 |
| [BOJ][B2]암호- 1718 (0) | 2025.08.10 |