ReverseAndAdd/ì‹ ìž¬ë�™ ¶
~cpp
import unittest
class ReverseAndAdder:
def reverse(self, number):
numberStr = str(number)
reverseStr = ''
for i in range(len(numberStr)):
reverseStr += numberStr[len(numberStr) - i - 1]
return int(reverseStr)
def isPalindrome(self, number):
numberStr = str(number)
for i in range(len(numberStr)):
if(numberStr[i] != numberStr[len(numberStr) - i - 1]):
return False
return True
def reverseAndAdd(self, number):
count = 0
for i in range(1000):
number = number + self.reverse(number)
count += 1
if(self.isPalindrome(number)):
break
else:
print 'No reverse and add'
return None
return (count, number)
class ReverseAndAdderTestCase(unittest.TestCase):
def testReverse(self):
raa = ReverseAndAdder()
self.assertEquals(1234, raa.reverse(4321))
self.assertEquals(12321, raa.reverse(12321))
def testIsPalindrome(self):
raa = ReverseAndAdder()
self.assertEquals(False, raa.isPalindrome(4321))
self.assertEquals(True, raa.isPalindrome(12321))
self.assertEquals(True, raa.isPalindrome(1221))
def testReverseAndAdd(self):
raa = ReverseAndAdder()
self.assertEquals((4, 9339), raa.reverseAndAdd(195))
self.assertEquals((5, 45254), raa.reverseAndAdd(265))
self.assertEquals((3, 6666), raa.reverseAndAdd(750))
if __name__ == '__main__':
#unittest.main()
raa = ReverseAndAdder()
result = raa.reverseAndAdd(int(input()))
if(result != None):
print str(result[0]) + ' ' + str(result[1])
그리 맘� 들지는 않는다. --재�
reverse 메소드 ëŒ€ì‹ ì—� 다ì�Œê³¼ ê°™ì�´ 간단히 í• ìˆ˜ 있다:
~cpp
>>> n=4321
>>> int(str(n)[::-1]) #python 2.3��
1234
>>> int(''.join(reversed(str(d)))) #python 2.4��
1234
파ì�´ì�¬ì—�서 for 루프를 ë¨¼ì € ìƒ�ê°�하는 것ì�€ ì‚¬ê³ ì�˜ 단위가 ìž‘ì�€ 것ì�´ê³ , ì�´ê²ƒì�€ ì˜�문ë�…해를 í• ë•Œ 한번ì—� 한단어씩 보는 것과 구문ì�„ 한번ì—� 보는 것ì�˜ ì°¨ì�´ì™€ 비êµ�í• ìˆ˜ë�„ 있다.
위 코드를 �용하면...
~cpp >>> def rev(d): return int(str(d)[::-1]) >>> def revAndAdd(d): c=0 while True: rd=rev(d) if d==rd:break d+=rd c+=1 return c,d >>> revAndAdd(195) (4, 9339)
all tests data will be computable with less than 1000 iterations (additions)를 ê³ ë ¤í•œë‹¤ë©´ 명시ì �ì�¸ 회수 ì²´í�¬ëŠ” 없어ë�„ ë� 듯.
--JuNe
마치 pseudo code를 보는 것 같네요. --재�










