프로그래머스 Lv.1 코딩테스트

[프로그래머스 Lv.1] 정수 제곱근 판별

하다블 2022. 2. 16. 20:35
반응형

문제는 다음과 같습니다.

코딩테스트 연습 - 정수 제곱근 판별 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 정수 제곱근 판별

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함

programmers.co.kr

 

풀이 코드는 다음과 같습니다.

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

long long solution(long long n) {
    long long answer = 0;
    long long tmp=sqrt(n);
    if(tmp*tmp==n)
    {
        answer=(tmp+1)*(tmp+1);
    }
    else
    {
        answer=-1;
    }
    return answer;
}

math.h라는 헤더 파일을 불러와서 n을 제곱근으로 나누어보고 이를 다시 곱했을 때 기존의 값이 나오는 지를 확인하여 판별했습니다.

반응형