💜 Key Point

Math.sqrt()

💜 Today I Learned

[코드카타]

  • 기사단원의 무기
    이 문제는 우선 1번부터 number까지 반복하여 한 명씩 약수의 개수를 구해야 한다.
    이후에 약수의 개수가 limit를 넘으면 power로 지정해주어야 한다.
    밑에 코드는 전체 코드이다. 이 코드로 제출을 하였더니 시간 초과로 실패하였다.

    number가 1~100,000까지의 범위이기에 하나씩 약수를 구하게 되면 시간초과가 뜰 수 밖에 없는 것이다.
    이 문제를 해결하기 위해 Math.sqrt()를 사용하였다. 이 함수는 괄호 안에 숫자의 제곱근을 구해준다. Math.sqrt()를 이용하여 약수를 구하는 반복문의 시간을 단축시켰다.

    약수 구하는 부분을 위에 코드로 수정할 수 있다.
    Math.sqrt()를 사용하여 코드를 작성하고 제출하니 정상적으로 통과할 수 있었다.

    <전체 코드>

0개의 댓글