방금 수학과 교수로 채용되었어요. 첫 주는 잘 지나갔는데, 둘째 주에는 뭔가 이상해요. 문제는 학생들이 내놓는 답이 전부 틀렸다는 거예요! 다행히도 수학 실력 덕분에 원인을 알아냈어요. 학생들의 답은 정말로 맞아요. 다만 모두 2진법(이진법)으로 되어 있을 뿐이에요! 놀랍게도, 매주 학생들은 서로 다른 진법을 사용한대요. 학생들의 답을 빠르게 확인할 수 있도록, 진법 사이를 변환해 주는 도구를 만들 거예요.
한 진법에서 어떤 수를 나타내는 숫자열을, 같은 수를 나타내는 다른 진법의 숫자열로 변환해요.
변환은 직접 구현해 봐요. 변환을 대신 해 주는 다른 것을 사용하지 마세요.
위치 기수법에서는 밑이 b인 수를 b의 거듭제곱들의 선형 결합으로 이해할 수 있어요.
42라는 수는 10진법에서 다음을 뜻해요:
(4 × 10¹) + (2 × 10⁰)
101010이라는 수는 2진법에서 다음을 뜻해요:
(1 × 2⁵) + (0 × 2⁴) + (1 × 2³) + (0 × 2²) + (1 × 2¹) + (0 × 2⁰)
1120이라는 수는 3진법에서 다음을 뜻해요:
(1 × 3³) + (1 × 3²) + (2 × 3¹) + (0 × 3⁰)
네. 위의 세 수는 정확히 같은 수예요. 축하해요!
Exercism에 가입하고 YAMLScript 트랙을 연습 문제 60개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.