100만 이하의 수 중에서, 10진수로 하든 2진수로 하든 거꾸로 해도 자기자신이 되는 수를 모두 더하면?
33 = 100001 (2) 같은 것도 되지만, 313 = 100111001 같은 경우도 고려해야 한다.
d2b함수는 10진수를 2진수(정확히는 2진수를 거꾸로 쓴 수)를 찾고 그게 palindrome인지 체크한다.
i는 10진수로 했을 때 왼쪽 절반을, j는 가운데 숫자를 의미한다.
i=58, j=3 => 58385
i = 2, j='' => 22
i = '', j=7 => 7
컴퓨터 내부적으로는 2진수가 기본일테니 여기에서처럼 10진수를 2진수로 바꾸는 대신, 2진수를 기본으로 palindrome을 만들고, 조건에 맞을 때 10진수로 변환해서 palindrome인지 체크하는 게 더 빠를 것 같은데.. 어떻게 하는지도 모르겠고, 지금 속도도 문제가 되지 않는 듯 해서 패쓰~
No comments:
Post a Comment