코딩테스트

코딩테스트 공부하기

진블로그 2023. 5. 20. 23:20
다른 명언

728x90
반응형

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.

 

입출력 예
 n         result
10        [1, 3, 5, 7, 9]
15        [1, 3, 5, 7, 9, 11, 13, 15]

 

function solution(n) {
  var answer = [];

  for (let i = 1; i <= n; i += 2) {
    answer.push(i);
  }

  return answer;
}

 

push()는 JavaScript 배열에 요소를 추가하는 메소드입니다. 주어진 값이 배열의 끝에 추가됩니다. 예를 들어, answer.push(i)는 배열 answer의 끝에 변수 i의 값을 추가합니다.


따라서 solution() 함수에서 answer.push(i)를 사용하여 i 값을 배열 answer에 추가하여 주어진 조건에 맞는 홀수 배열을 생성합니다.

 

 

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

 

입출력 예
numer1 denom1 numer2 denom2 result
1           2            3           4            [5, 4]
9           2            1           3            [29, 6]

 

function solution(numer1, denom1, numer2, denom2) {
  var answer = [];

  // 분수의 덧셈
  var numerator = numer1 * denom2 + numer2 * denom1;
  var denominator = denom1 * denom2;

  // 분자와 분모의 최대공약수 구하기
  var gcd = findGCD(numerator, denominator);

  // 기약 분수로 나타내기
  numerator /= gcd;
  denominator /= gcd;

  // 결과를 배열에 담아 반환
  answer.push(numerator);
  answer.push(denominator);

  return answer;
}

// 최대공약수를 구하는 함수
function findGCD(a, b) {
  if (b === 0) {
    return a;
  }
  return findGCD(b, a % b);
}

 

 

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

 

입출력 예
numbers                             result
[1, 2, 3, 4, 5]                       [2, 4, 6, 8, 10]
[1, 2, 100, -99, 1, 2, 3]       [2, 4, 200, -198, 2, 4, 6]

 

function solution(numbers) {
  var answer = [];

  for (var i = 0; i < numbers.length; i++) {
    var doubledNumber = numbers[i] * 2;
    answer.push(doubledNumber);
  }

  return answer;
}
728x90