Problem Solving/Project Euler

[프로젝트 오일러] Problem 4 Solution

happykoa 2020. 2. 28. 14:28

프로젝트 오일러라는 사이트는 적당한 수학? 아이디어? 생각? 들을 배울 수 있는 사이트입니다.

http://euler.synap.co.kr/

 

Project Euler

About Project Euler @ kr 레온하르트 오일러 (1707-1783) 환영합니다! 프로젝트 오일러 (ProjectEuler.net) 는 수학적인 문제들을 컴퓨터 프로그래밍으로 하나씩 해결해가는 퀴즈 풀이 사이트입니다. 여기에는 흥미로운 내용이 많이 있지만, 문제나 댓글 등이 모두 영어로 되어 있어서 다소 부담스러울 수 있습니다. 우리 사이트 (Project Euler @ kr) 에서는 보다 많은 이들이 쉽게 접근해서 즐길 수 있도록 원본 문

euler.synap.co.kr

사이트에 대한 자세한 내용은 위 링크로 들어가셔서 한번 보시면 될 것 같습니다.

 

문제 내용

4번 문제는 세 자리인 두 수를 곱해 만들 수 있는 최대 대칭수를 구하는 문제입니다.

 

풀이

python으로 이 문제를 풀려고 한다면 굉장히 쉽습니다.

일단 세자리수라 하면은 100~999 까지이기 때문에 O(n^2)의 시간복잡도를 가진 완전탐색을 하면 됩니다.

 

ans = 0
for i in range(100,1000):
    for j in range(i,1000):
        s = i*j
        s = str(s)
        if s == s[::-1] and int(s) > ans:
            ans = int(s)
print(ans)

 

답은 스스로 한번 코드를 작성하고 실행해보시길 바랍니다 :)

Rmx