https://school.programmers.co.kr/learn/courses/30/lessons/120909
sqrt(제곱 수 구하는 함수 cmath에 포함) 사용하여 나온 값이 정수면 제곱수이다.
sqrt(n)을 int로 형변환하면 소수점 이하는 버려지므로 그렇게 판별했다.
#include <string>
#include <vector>
#include <cmath>
using namespace std;
int solution(int n) {
int answer = 0;
if(sqrt(n) > int(sqrt(n)))
answer = 2;
else
answer = 1;
return answer;
}
#include <string>
#include <vector>
#include <cmath>
using namespace std;
int solution(int n) {
int answer = sqrt(n);
answer = (answer * answer == n)? 1:2;
return answer;
}
sqrt(n) 을 제곱해서 n이 다시 나오는지 안나오는지로 삼항연산자를 사용하였다.