Just Do IT!
[프로그래머스 Level 0] 120805-120809 (JavaScript) 본문
728x90
반응형
120805. 몫 구하기
문제 설명
정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요.
제한사항
0 < num1 ≤ 100
0 < num2 ≤ 100
입출력 예
num1 num2 result 10 5 2 7 2 3
function solution(num1, num2) {
return Math.floor(num1 / num2)
}
- Math.floor() : 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환
- 7과 2를 계산할 때 3.5가 아닌 3이 나오므로 Math.floor() 사용
120806. 두 수의 나눗셈
문제 설명
정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.
제한사항
0 < num1 ≤ 100
0 < num2 ≤ 100
입출력 예
num1 num2 result 3 2 1500 7 3 2333 1 16 62
function solution(num1, num2) {
return Math.trunc(num1 / num2 * 1000);
}
- Math.trunc(): 숫자의 정수 부분만 출력 (반올림은 적용되지 않는다)
120807. 숫자 비교하기
문제 설명
정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요.
제한사항
0 ≤ num1 ≤ 10,000
0 ≤ num2 ≤ 10,000
입출력 예
num1 num2 result 2 3 -1 11 11 1 7 99 -1
function solution(num1, num2) {
if (num1 === num2) {
return 1
}
else {
return -1
}
}
120808. 분수의 덧셈
문제 설명
첫 번째 분수의 분자와 분모를 뜻하는 denum1, num1, 두 번째 분수의 분자와 분모를 뜻하는 denum2, num2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
0 <denum1, num1, denum2, num2 < 1,000
입출력 예
denum1 num1 denum2 num2 result 1 2 3 4 [5, 4] 9 2 1 3 [29, 6]
function solution(denum1, num1, denum2, num2) {
// 분모 핪 구하기
let result_x = (denum1 * num2) + (denum2 * num1)
// 분자
let result_y = num1 * num2
// 최소공배수
let max_num = 1
// 약분 (최소공배수 계산하기)
for (let i = 1; i <= result_x; i++) {
if (result_x % i === 0 && result_y % i === 0) {
max_num = i
}
}
return [result_x / max_num, result_y / max_num]
}
- 분수의 덧셈 계산하던 것처럼 일단 분자 곱하고 분모 구해서 약분 안한 분수 만들기
- for 문 돌리면서 최소공배수 계산하기
- 약분 안한 분수를 최소공배수로 나눠서 return
120809. 배열 두 배 만들기
문제 설명
정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
-10,000 ≤ numbers의 원소 ≤ 10,000
1 ≤ numbers의 길이 ≤ 1,000
입출력 예
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 (let i = 0; i < numbers.length; i++) {
answer.push(numbers[i] * 2)
}
return answer;
}
- answer 이라는 새로운 배열 생성
- numbers (원래 배열)의 길이만큼 for문 돌리면서 numbers의 원소에 2를 곱해 answer에 push
728x90
'코딩테스트 준비 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 Level 0] 120826. 특정 문자 제거하기 (JavaScript) (0) | 2022.11.20 |
---|---|
[프로그래머스 Level 0] 120821 - 120825 (JavaScript) (1) | 2022.11.16 |
[프로그래머스 Level 0] 120815 - 120820 (JavaScript) (0) | 2022.11.15 |
[프로그래머스 Level 0] 120810 - 120814 (JavaScript) (0) | 2022.11.14 |
[프로그래머스 Level 0] 120802-120804, 120583, 120585 (JavaScript) (0) | 2022.11.10 |