LV1. 정수 제곱근 판별
❔ 문제
❗ 내 풀이
class Solution {
public long solution(long n) {
long answer = 0;
for(long i=0;i*i<=n;i++){
if(i*i==n){
answer =(i+1)*(i+1);
}else{
answer =-1;
}
}
return answer;
}
}
🚩참고 (다른 풀이)
1.
import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
int calc = (int)Math.sqrt(n); //Math.sqrt(n) : n의 제곱근 반환
answer = ((long)Math.pow(calc, 2)==n)?(long)Math.pow(calc+1, 2):-1; // Math.pow(x,y) : x의 y제곱 반환
return answer;
}
}
2.
class Solution {
public long solution(long n) {
if (Math.pow((int)Math.sqrt(n), 2) == n) {
return (long) Math.pow(Math.sqrt(n) + 1, 2);
}
return -1;
}
}
📝 정리
💬 ArrayList 활용해서 풀어낼 수 있다.
✔ Math 함수 숙지하기
✔ Math.sqrt(n) : 제곱근 구하기
✔ Math.pow(n,m) : n의 m승 구하기
Author And Source
이 문제에 관하여(LV1. 정수 제곱근 판별), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@thwjd579/프로그래머스-LV1.-정수-제곱근-판별저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)