본문 바로가기
퀴즈

자바스크립트 함수 마무리 문제

by dongjin6539 2023. 2. 28.
728x90
반응형

자바스크립트 함수 마무리 문제1, 2

책 : 모던 자바스크립트 프로그래밍의 정석 155, 156페이지 참고

 

 

마무리 문제 1

  • 사용자가 프롬프트 창에 숫자를 입력했을 때 그 숫자를 함수로 넘겨주고, 함수에서는 숫자가 양수인지, 음수인지, 또는0인지 판단해서 알림 창에 보여주는 프로그램을 작성해 보시오.   
길라잡이
  • 숫자를 받아서 양수, 음수, 0을 판단하고 알림 창에 표시하는 함수를 선언합니다.
  • parseInt( ) 함수를 사용해 프롬프트 창에 입력한 내용을 숫자로 변환합니다.
  • 프롬프트 창에 입력한 내용이 숫자가 아니면 parseInt( ) 함수는 NaN을 변환합니다.
  • 반환값이 숫자일 경우에만 함수를 실행합니다. 

 

See the Pen Untitled by dongjin6539 (@dongjin6539) on CodePen.

 

 

const number = parseInt(prompt("숫자를 입력하세요."));
    
function x(n){
  if(n>0){
    document.write(n + "은 양수입니다.");
  } else if(n<0){
    document.write(n + "은 음수입니다.");
  } else {
    document.write(n + "0입니다.");
  };
};

if(!isNaN(number)){
  x(number);
}

풀이방법

  • parseInt( )함수를 변수로 저장해줍니다.
  • 사용자가 prompt 키워드로 지정하는 숫자를 함수로 넘겨주기 위해서 prompt 키워드를 parseInt( ) 함수 안에 입력해줍니다.
  • 함수로 넘어왔으니까 function 함수를 이용해서 사용자가 입력한 숫자가 조건식이 맞는지 확인해주기 위해서 다중 if문을 사용합니다.
  • 입력한 숫자가 양수이면 양수인 올바른 실행문을, 음수이면 음수인 올바른 실행문, 입력한 숫자가 올바르지 않을 경우 0이라는 것을 실행해주는 실행문을 입력해줍니다.
  • 또 다른 if문으로 !isNaN( ) 함수를 이용해 숫자인지 아닌지를 판별해 주고 실행해주면 값이 나옵니다.   

참고

  • parseInt ( ) 함수란, 숫자와 문자열이 조건식에 있을 경우 정수 부분만 숫자로 변환해 주는 함수입니다. 하지만 문자열의 첫 부분이 숫자가 아닐 경우 결과는 'NaN'으로 반환됩니다.
  • isNaN ( ) 함수란, 숫자인지 아닌지를 판별하는 함수입니다. 숫자이면 false를 반환해 주고 숫자가 아니면 true를 반환해 줍니다. 

 

 

마무리 문제 2

  • 2개의 숫자를 입력받아 두 수의 최대공약수를 구하는 함수를 작성하고 테스트해 보세요.
  • 예를 들어 4와 12의 최대공약수는 4가 됩니다. 즉, 두 수 모두 나누어떨어지는 수 중에서 가장 큰 값이 최대공약수입니다.    
길라잡이
  • 주어진 두 수 중에서 어떤 수가 큰 수인지 확인합니다.
  • 두 수 가 모두 나누어떨어져야 하므로 두 수 중에서 큰 수까지 반복하면서 작은 수도 나누어떨어지고, 큰 수도 나누어떨어지는 숫자를 찾습니다.
  • 찾을 때마다 변수에 할당합니다. 반복이 모두 끝나면 변수에는 가장 마지막에 할당된 약수만 남습니다.  

 

See the Pen 자바스크립트 함수 마무리 문제 2 by dongjin6539 (@dongjin6539) on CodePen.

 

 

function x(n,m){
  let max = n > m ? n : m;
  let x = 0;
  for(let i=1; i<=max; i++){
    if(n % i === 0 && m % i === 0){
      x = i;
    }
  }
  return x;
}

document.write("n과 m의 최대공약수 : " + x(n,m));

풀이 방법

  • 매개변수 함수, 리턴값 함수, 삼항 연산자를 이용해줍니다. 
  • 매개변수 함수로 함수 키( x )를 만들어줍니다.
  • 삼항 연산자로 이용해서 매개변수 n과 m의 조건식을 만들어 실행문을 만들어 주고 그 값을 변수(max)로 지정해줍니다.
  • 함수 키( x )를 0으로 지정해주고 for문을 이용해서 또 다른 i 값으로 삼항 연산자로 나온 값으로 범위를 지정해줍니다.
  • for문 안에 if문을 이용해서 매개변수 n과 m의 최대공약수가 for문의 i 의 값이 정해집니다.
  • x = i;의 식으로 i 의 값이 함수 키( x )의 값이 됩니다.
  • 리턴값 함수로 return x;로 x의 값을 반환해주면서 결과가 나옵니다.
  • 매개변수 n과 m에 원하는 숫자를 입력해서 최대공약수를 구해봅시다!!!   

참고

매개변수 함수, 리턴값 함수, 삼항연산자를 알고 싶다면 참고하세요!!!

https://dongjin6539.github.io/web2023/javascript/javascript03.html

https://dongjin6539.github.io/web2023/javascript/javascript04.html

728x90
반응형