N

(프로그래머스 c++)정수 제곱근 판별 본문

프로그래머스 알고리즘/1단계

(프로그래머스 c++)정수 제곱근 판별

naeunchan 2020. 4. 28. 10:50
728x90
반응형

long long 형의 n의 제곱근을 tmp 변수에 저장을 해주자..!

제곱근을 구해주는 함수인 sqrt()를 활용하였다.

cmath 헤더에 존재하니 include를 해주고,

tmp에 sqrt(n)을 하여 제곱근을 저장한다.

그리고 n이 양의 정수 tmp의 제곱인지 판별해주도록 하자..!

pow(tmp, 2)는 tmp를 2승 하여 값을 리턴해준다. pow() 함수도 종종 쓰이는 것 같다..!

pow(tmp, 2)와 n이 같으면 tmp는 n의 양의 제곱근이 되고, 일치하지 않으면

tmp는 n의 제곱근이 아니므로 -1을 리턴해준다..!

#include <string>
#include <vector>
#include <cmath>
#include <iostream>

using namespace std;

long long solution(long long n) {
    long long answer = 0;
    long long tmp = 0;
    
    tmp = sqrt(n);
    if(pow(tmp, 2) != n)
        return -1;
    answer = pow(tmp + 1, 2);
    
    return answer;
}
728x90
반응형