본문 바로가기
개발공부/프로그래머스

프로그래머스 정수 제곱근 판별(js/자바스크립트) for문 사용!!!!!!

by 또깽판 2022. 1. 19.

진짜 너무 오래 걸린.....정수 제곱근 판별 

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 넣어줘라는 조건문을 추가 

 

1

 

댓글