2024.06.10
01 두 수의 나눗셈
02 숫자 비교하기
03 분수의 덧셈
04 배열 두 배 만들기
정수
num1과num2가 매개변수로 주어질 때,num1과num2로 나눈 값에1,000을 곱한 후 정수 부분을 return 하도록solution함수를 완성해주세요.
function solution(num1, num2) {
var answer = parseInt(num1/num2*1000);
return answer;
}
| num1 | num2 | result |
|---|---|---|
| 3 | 2 | 1500 |
| 7 | 3 | 1500 |
| 1 | 16 | 62 |
정수
num1과num2가 매개변수로 주어집니다. 두 수가 같으면1다르면-1을 return 하도록solution함수를 완성해주세요.
| num1 | num2 | result |
|---|---|---|
| 2 | 3 | -1 |
| 11 | 1 | 1 |
| 7 | 99 | -1 |
첫 번째 분수의 분자와 분모를 뜻하는
numer1,denum1, 두 번째 숫자의 분모와 분자를 뜻하는numer2,denum2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록solution함수를 완성하세요.
function solution(numer1, denom1, numer2, denom2) {
var answer=[];
return answer;
}
🚩 분수의 덧셈
분모 통분 >> denom1 x denom2
분자끼리 덧셈 >> (numer1 x denom2) + (numer2 x denom1)
function solution(numer1, denom1, numer2, denom2) {
var answer = [];
var denom = denom1 * denom2;
var numer = (numer1 * denom2) + (numer2 * denom1);
return answer;
}
🚩 분자, 분모를 최대공약수로 나누기
① 분자, 분모 중 작은 수 찾기
let minNumber;
if(numer < denom) {
minNumber = numer;
} else {
minNumber = denom;
}
◾ if문과 for문에서 쓸 전역변수minNumber를 만든다.
◾ 분자 numer와 분모 denom를 비교하여 더 작은 수를 minNumber에 할당한다.
② 작은 수를 분자, 분모로 나눠보기
②-1 "둘 다 나누어 떨어지면" 그 나눈 수가 최대공약수
◾ 나누어 떨어진다 == 나머지가 0인 것
◾ 나머지 구하는 연산자 : %
if(numer % minNumber === 0) {
if(denom % minNumber === 0) {
return [numer / minNumber, denom / minNumber];
}
}
②-2 안 나누어떨어지면 작은 수를 1 줄이고 ②로 돌아가기
while (true) {
if(numer % minNumber === 0) {
if(denom % minNumber === 0) {
return [numer / minNumber, denom / minNumber];
}
}
minNumber--;
}
💻 전체 코드
function solution (numer1,denom1,numer2,denom2) {
var denom = denom1 * denom2;
var numer = (numer1 * denom2) + (numer2 * denom1);
var answer = [numer, denom];
let minNumber;
if (numer < denom) {
minNumber = numer;
} else {
minNumber = denom;
}
while (true) {
if (numer % minNumber === 0) {
if (denom % minNumber === 0) {
return [numer / minNumber, denom / minNumber];
}
}
minNumber--;
}
}
| numer1 | denom1 | numer2 | denom2 | result |
|---|---|---|---|---|
| 1 | 2 | 3 | 4 | [ 5, 4 ] |
| 9 | 2 | 1 | 3 | [ 29, 6 ] |
정수 배열
numbers가 매개변수로 주어집니다.numbers의 각 원소에 두배한 원소를 가진 배열을 return 하도록solution함수를 완성해주세요.
function solution(numbers) {
var answer = [];
for(let i=0;i<numbers.length;i++) {
answer[i]=numbers[i] * 2;
}
return answer;
}
| 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 ] |
프로그래머스 문제 링크
01 두 수의 나눗셈
02 숫자 비교하기
03 분수의 덧셈
04 배열 두 배 만들기