inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

알고리즘 Lv1 - 정수제곱근 판별하기

bogoomi
0

내가 쓴 코드

#include <string>
#include <vector>
#include <math.h>

using namespace std;

long long solution(long long n) {
    long long answer = 0;

    if(sqrt(n) == (int)sqrt(n))
        answer = pow(sqrt(n)+1, 2);
    else
        answer = -1;

    return answer;
}

다른 사람이 쓴 코드

#include <string>
#include <vector>
#include <math.h>
using namespace std;

long long solution(long long n) {
    long long answer = sqrt(n);

    return powl(answer, 2) == n ? powl(answer + 1, 2) : -1;
}

 

배운점

- <math.h> 라이브러리의 pow(), sqrt() 를 이용하여 제곱 관련된 변수 생성 가능

- pow(a, b) 는 a의 b승. (type은 double을 리턴)

   이외에도 powl, powf  두 가지가 더 있다. powl()은  long long 형을 반환하고

   powf()는 float형을 리턴한다.

- sqrt(n)은 n의 제곱근. 

CPP C++ 알고리즘

답변 0