
프로그래머스 1단계 : 정수 제곱근 판별!
정수와 제곱근을 판별하는 방법을 지금 이 자리에서 풀어보도록 하겠습니다
다른 분들은 대체 이거 어떻게 술술 풀고 계신거에요,,,,,,,🥲
if/sqrt를 통한 방법
sqrt를 사용하여 if의 결과를 결정지어 답을 도출해내는 방법입니다.
1. n의 제곱근이 1과 나누었을때 0이 아니라면 -1을 반환
2. 0이였다면 [n의 제곱근에 1을 더한 값]*[n의 제곱근에 1을 더한 값]의 결과를 반환합니다.
여기서 sqrt는 제곱근을 구하기 위한 메서드 입니다.
function solution(n){
if(Math.sqrt(n)%1!==0){
return -1;
} else {
return (Math.sqrt(n)+1)*(Math.sqrt(n)+1);
}
}
for/if를 통한 방법 : 다른 사람 풀이
for/if를 사용해 답을 도출해내는 방법입니다.
1. for을 통해 i와 a는 0으로 설정하고 n의 이하가 될때까지 i를 1씩 증가시켜줍니다.
2. if 만약 n과 i를 나누었을때 i와 같다면
3. i의 값에 1을 더해준 값을 a에 넣어준 뒤
4. a와 a를 곱해준 값을 반환해줍니다.
5. 만약 n과 나누었을때 i와 같지 않았다면 answer의 값에 -1을 넣어줍니다
6. 최종적으로 answer를 반환해줍니다.
function solution(n) {
var answer = 0;
for(let i=0, a=0; i<=n; i++){
if(n/i===i){
a = i + 1
return a*a
} else {
answer = -1
}
}
return answer;
}
'프로그래머스' 카테고리의 다른 글
프로그래머스 1단계 : 하샤드 수! (5) | 2022.11.08 |
---|---|
프로그래머스 1단계 : 서울에서 김서방 찾기! (6) | 2022.11.06 |
프로그래머스 1단계 : x만큼 간격이 있는 n개의 숫자! (1) | 2022.11.06 |
프로그래머스 1단계 : 정수 내림차순으로 배치하기! (1) | 2022.11.03 |
프로그래머스 1단계 : 자릿수 더하기! (1) | 2022.11.02 |
댓글