ㅠㅠㅠ질문이 많아서 죄송합니다
//(a^2-b^2) == (a+b)(a-b)
//b = a-1일 때 최대.
이 논리로 a최대값을 정하고
//a가 최소인 경우: ceil(sqrt(n))
이런식으로 알고리즘을 짰는데 혹시 이거보다 더 효율적인 방법이 있을까요?? 계속 Time Exceed 뜨네요....
n과 a가 정해진 상태에서 b를 굳이 반복문으로 찾아야 할까요?
아 말씀주신대로 b를 따로 구하니 시간 효율이 훨씬 단축됐습니다.
그런데 여전히 time exceed 뜨네요 ㅠㅠㅠㅠ
제가 생각하기로 a가 가질 수 있는 최대값은
(a+b)(a-b) = n일 때
a가 이 값이라 생각하는데 혹시 수행시간을 더 줄일 수 있는가요??
사실 a를 먼저 구하려는 것부터 이미 TLE의 늪에 빠진 겁니다ㅎㅎ
그리고 sqrt는 내부적으로 반복문을 실행하기 때문에 지금 제출하신 코드의 시간복잡도는 이전에 제출하신 이중for문과 별 다를 바 없습니다
거의 다 왔으니 조금 더 고민해보시면 될 것 같습니다
연립방정식을 사용해보세요
아까 말씀은 b를 기준으로 반복문을 돌리라는 말씀인가요???
해봤는데 여전히 Time exceed뜨네요 ㅠㅠㅠㅠㅠ
도와주시면 정말 감사드리겠습니다.ㅠㅠㅠㅠ
여럿 낚으려고 했는데 벌써부터 결정적 힌트를...ㅜ
a+b와 a-b를 알면 a, b를 구할 수 있습니다