Menu
CoddyTech

Square Root (Integer)

함수는 음이 아닌 정수 x를 받아 정수 제곱근을 반환합니다. 정수 제곱근은 r × r ≤ x를 만족하는 가장 큰 정수 r입니다. 즉, 제곱근을 내림한 값이므로 완전제곱수가 아닌 수는 그보다 작은 완전제곱수의 제곱근을 반환합니다. 내장 제곱근 함수나 거듭제곱 함수 없이 직접 계산하세요.

함수

mySqrt(x: integer) → integer
xinteger
제곱근을 구할 음이 아닌 정수
반환값integer
x의 제곱근을 정수로 내림한 값

제약 조건

  • 0 ≤ x ≤ 231 - 1
  • 내장 제곱근, 거듭제곱 또는 지수 함수를 호출하지 마세요.

예제

입력
x = 17
출력
4
설명
4 × 4 = 16은 17 이하이지만, 5 × 5 = 25는 17보다 크므로 17의 제곱근은 4로 내림합니다.

lock icon제출 시 숨은 테스트 +17개

challenge icon

후속 질문

대신 정수 세제곱근을 어떻게 구할까요? x가 음수일 수도 있다면, r × r × r ≤ x를 만족하는 가장 큰 r은 무엇일까요?

코드 초기화
def mySqrt(x):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

입력

x = 17

기대값

4