Animated Turtle

Prgrammers

프로그래머스 문제풀기 2일차

훙구 2023. 5. 18. 23:44

...

728x90
반응형

프로그래머스 문제풀기 2일차.

1. 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.

function solution(num1, num2) {
    let answer = Math.floor((num1/num2)*1000);
    return answer;
}

 

2. 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요.

function solution(num1, num2) {
    let answer = -1;
    if(num1 === num2){
        answer = 1;
    }
    return answer;
}

 

3. 첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.

function solution(numer1, denom1, numer2, denom2) {
    let top =(numer1*denom2)+(numer2*denom1);
    let bottom = (denom1*denom2);
    
    function divisor(a, b){
        while (b !== 0) {
            let temp = b;
            b = a % b;
            a = temp;
        }
        return a;
    }
    div = divisor(top, bottom);
    let answer = [top/div, bottom/div];
    return answer;
}

풀이 Tip!

  • 각각의 매개변수를 받아와 분자에 올라가는 값을 top으로, 분모로 내려가는 값을 bottom 이라는 변수를 만들어 각각 저장했습니다.
  • divisor함수 : a와 b의 최대 공약수를 구하는 함수입니다.
  • 함수 divisor에 top과 bottom을 넣어 top과 bottom의 최대공약수를 구해 div 변수에 저장합니다.
  • top을 div로 나눈값과 bottom을 div로 나눈값을 배열 answer의 요소로 저장합니다. (기약분수로 만들기)

4. 정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.

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

풀이 Tip!

  • 매개변수로 받아올 배열 numbers의 요소 개수만큼 for문을 반복하여 number[ i ]요소에 *2를 하여 answer배열에 push해주었습니다.
728x90
반응형