Javascript/프로그래머스Lv0

두 수의 몫 구하기/ 두 수의 나눗셈/두 수 비교하기/최대공약수/배열 두 배 만들기

정호나 2024. 6. 6. 18:19

1. 두 수의 몫 구하기

function solution(num1, num2) {
    
    return Math.floor (num1/num2);
}

 

 

num1/num2 로 하면 num1=7, num2 =2 일때 몫이 3.5 로 안돼

몫이 정수로 나와야 함

 

2. 두 수의 나눗셈

function solution(num1, num2) {
    
    //1. num1에 num2로 나눈다.
    //2. 나눈 값에 1000을 곱한다.
    //3. 그 값에 정수부분을 구한다.
    
    //var answer = Math.floor(num1/num2*1000);
    var answer = parseInt(num1/num2*1000);
    
    
    return answer;
}

정수로 변환하기

- parseInt() : 문자를 받아 숫자로 변환하는 함수, 단순한 정수 버림

1) 문자가 아닌 경우 number->string 

2) 10진수 추론을 위해 string 앞 2글자가 0x나 0X인지 비교

 

ex) -1.1 -> -1

 

- Math.floor() 

수학적으로 버림함수

ex) '-1.1' -> -2 

 

3. 두수 비교하기

자바스크립트에서 '==', '!=' 사용 금지!

비교 연산자는 true/false로 나와야해

if(true/false) {
	}
else{

	}

 

 

4. 최대공약수 구하기

function solution(numer1, denom1, numer2, denom2) {
    var answer = []; 
    const num = denom2 * numer1 + denom1 * numer2 ;
    const denom = denom1 * denom2;
 
    let minNumber;
    if(denom<num){
        minNumber = denom;
        
    }else{
        minNumber = num;
    }
    //나누어 떨어지는 것 -> 나머지가 0인 것
    
    while(true){
      if ( denom % minNumber === 0 && num % minNumber === 0){
        
        {
            return [num / minNumber, denom/ minNumber];
        }
    }
   
    minNumber--;    
    }
}
    
    //minNumber에는 작은 수가 들어가 있음.
 
    



//1.분모덧셈
//2. 분자분모의 최대공약수로 나눔
//2-1 분자분모중 작은 수를 찾기
//2-2 작은 수를 분자분모로 나눠보기
//2-2-1 둘다 나누어 떨어지면 그 나눈 수가 최대공약수
//2-2-2 안 나누어떨어지면 작은 수를 1 줄이고 2-2로 돌아가기

 

5. 배열 두배 만들기

 

function solution(numbers) {
    var answer = [];
    let cnt = numbers.length;
       
    for(i = 0; i < cnt; i++){
         answer.push(numbers[i]*2);    
    }
       
    return answer;
}

//1. numbers에서 원소를 꺼내야함. numbers[0] 
//2. 원소를 꺼내 2배를 한 후 개 배열에 넣어줘야 함.