진짜 너무 오래 걸린.....정수 제곱근 판별
for문을 이용하여서 풀고 싶어서 계속 반복해서 시도했는데
아직까지 이중if문에 대한 사용이 어렵다ㅠ.ㅠ
링크
https://programmers.co.kr/learn/courses/30/lessons/12934
코딩테스트 연습 - 정수 제곱근 판별
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함
programmers.co.kr
문제
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
내가 작업한 코드
var n= 3
function solution(n) {
var answer = 0;
var sum = 0;
for(let i=1; i*i<=n; i++){
if(i*i==n){
answer = i + 1
sum = answer*answer
} else if(sum==0){
sum = -1
}
}
return sum ;
}
solution(n)
문제풀이
1. for문을 이용해서 어떤수의 제곱인지를 찾아야함
ㄴ 결국 같은 숫자를 2번 곱해야지 제곱이니 i*i <= n 인경우까지 돌려줘라!
ex) n = 121
i는 11번까지 for문을 돌려준다
2. if문으로
i*i = n 과 같은 경우! 제곱인지를 찾았으니깐
answer =i + 1 ( answer = 11 +1)
최종 결과값은 제곱 +1에 다시 제곱근이 나와야하니깐
sum = answer *answer
3. 그렇다면, i*i = n 이 같지 않을경우에는 -1 리턴해줘야하는데
다른경우에는 sum==0 계속 0이라서 이때 sum = -1 넣어줘라는 조건문을 추가
'개발공부 > 프로그래머스' 카테고리의 다른 글
프로그래머스 콜라츠 추측 (js/자바스크립트) for문으로!!!! (0) | 2022.01.19 |
---|---|
프로그래머스 제일 작은 수 제거하기 (js/자바스크립트) (0) | 2022.01.19 |
프로그래머스 정수 내림차순으로 배치하기(js / 자바스크립트) (0) | 2022.01.19 |
프로그래머스 자연수 뒤집어 배열로 만들기(js / 자바스크립트) (0) | 2022.01.19 |
프로그래머스_ 자리수 더하기 (js,자바스크립트) (0) | 2022.01.19 |
댓글