문자열로 표현된 삼진수(예: '102012')를 기본 원리를 이용해 십진수로 변환해 보세요.
프로그램은 유효하지 않은 삼진수를 나타내는 문자열을 값 0으로 간주해야 해요.
삼진수는 0, 1, 2 세 가지 기호를 포함해요.
삼진수에서 맨 마지막 자리는 1의 자리예요. 끝에서 두 번째는 3의 자리, 끝에서 세 번째는 9의 자리이고, 이런 식으로 이어져요.
# "102012"
1 0 2 0 1 2 # the number
1*3^5 + 0*3^4 + 2*3^3 + 0*3^2 + 1*3^1 + 2*3^0 # the value
243 + 0 + 54 + 0 + 3 + 2 = 302
사용하는 언어의 표준 라이브러리에 변환을 수행하는 메서드가 있다면, 없는 척하고 직접 구현해 보세요.
| 레지스터 | 용도 | 타입 | 설명 |
|---|---|---|---|
$a0 |
입력 | 주소 | null로 끝나는 삼진 문자 문자열 |
$v0 |
출력 | 정수 | 입력 문자열의 십진수 값 |
$t0-9 |
임시 | 아무 타입 | 임시 저장에 사용 |
Exercism에 가입하고 MIPS Assembly 트랙을 연습 문제 70개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.