Notice
Recent Posts
Recent Comments
Link
bdfgdfg
[레벨1] 정수 제곱근 판별 본문
반응형
#include <string>
#include <cmath>
#include <vector>
using namespace std;
long long solution(long long n) {
long long answer = 0;
float sqrtNum = sqrt(n);
int temp = static_cast<int>(sqrtNum);
if(sqrtNum - temp == 0)
answer = sqrtNum +1;
else
return -1;
return answer * answer;
}
나의 풀이는 인자를 넘기면 루트를 씌운 값을 반환해주는 sqrt함수를 이용하고. 만약 n이 어떤 양의 정수의 제곱이라면 소수점이 존재하지 않는 정수값이 나올것이고 그게아니라면 소수점값이 나올테니 int형으로 변환하여 빼준뒤 풀었다.
다른 사람의 풀이를 보니
int a=static_cast<int>(sqrt(n));
answer=(pow(a,2)==n)?pow(a+1,2):-1;
위와같이 루트 n값을 구하고 그 값에 2승(제곱)을 했을 때 n이 나오는지 확인하였다.
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[레벨1] 이상한 문자 만들기 (0) | 2021.08.30 |
---|---|
[레벨1] 자릿수 더하기 (0) | 2021.08.29 |
[레벨1] 자연수 뒤집어 배열로 만들기 (0) | 2021.08.28 |
[레벨1] 정수 내림차순으로 배치하기. (0) | 2021.08.26 |
[레벨1] 제일 작은 수 제거하기 (0) | 2021.08.25 |
Comments