회문 곱

회문 곱

보통

지침

주어진 범위에서 회문 곱을 찾아요.

회문 수는 숫자를 뒤집어도 그대로인 수를 말해요. 예를 들어 121은 회문 수지만 112는 아니에요.

주어진 숫자 범위에서, 그 범위 안의 두 수를 곱해 나온 회문 중 가장 큰 것과 가장 작은 것을 찾아요.

풀이는 범위 안에서 가장 큰 회문과 가장 작은 회문, 그리고 각각의 인수를 반환해야 해요. 가장 큰 회문이나 가장 작은 회문에 범위 안의 인수 쌍이 여러 개 있으면, 그 쌍을 모두 반환해요.

예제 1

범위 [1, 9]가 주어졌을 때(양 끝 포함)...

그리고 이 범위에서 나올 수 있는 모든 곱의 목록이 주어지면: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 15, 21, 24, 27, 20, 28, 32, 36, 25, 30, 35, 40, 45, 42, 48, 54, 49, 56, 63, 64, 72, 81]

회문 곱은 모두 한 자리 수예요 (이 경우에는): [1, 2, 3, 4, 5, 6, 7, 8, 9]

가장 작은 회문 곱은 1이에요. 인수는 (1, 1)이에요. 가장 큰 회문 곱은 9예요. 인수는 (1, 9)와 (3, 3)이에요.

예제 2

범위 [10, 99]가 주어졌을 때(양 끝 포함)...

가장 작은 회문 곱은 121이에요. 인수는 (11, 11)이에요. 가장 큰 회문 곱은 9009예요. 인수는 (91, 99)예요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Ruby Exercism

회문 곱 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Ruby 트랙을 개념 21개연습 문제 121개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.