Q. 두 수의 합
정수 num1과 num2가 주어질 때, num1과 num2의 합을 return 하도록 soltuion 함수를 완성해 주세요.
🚫제한 사항
-50,000 ≤ num1 ≤ 50,000
-50,000 ≤ num2 ≤ 50,000
❗입출력 예
num1 | num2 | result |
2 | 3 | 5 |
100 | 2 | 102 |
😀 내가 푼 답
function solution(num1, num2) {
return num1 + num2;
}
- num1과 num2의 두수의 합를 구하기 때문에 더하기 연산자를 사용
😊 문제풀이 답안 OR 다른사람들 답안
const solution = (num1, num2) => num1 + num2
Q. 두 수의 차
정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요.
🚫제한 사항
-50,000 ≤ num1 ≤ 50,000
-50,000 ≤ num2 ≤ 50,000
❗입출력 예
num1 | num2 | result |
2 | 3 | -1 |
100 | 2 | 98 |
😀 내가 푼 답
function solution(num1, num2) {
return num1 - num2;
}
- num1과 num2의 두수의 차를 구하기 때문에 빼기 연산자를 사용
😊 문제풀이 답안 OR 다른사람들 답안
const solution = (num1, num2) => num1 - num2
Q. 두 수의 곱
정수 num1, num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요.
🚫제한 사항
0 ≤ num1 ≤ 100
0≤ num2 ≤ 100
❗입출력 예
num1 | num2 | result |
3 | 4 | 12 |
27 | 19 | 513 |
😀 내가 푼 답
function solution(num1, num2) {
return num1 <= 100 && num2 <= 100 ? num1 * num2 : 0;
}
// 제한사항까지 표현해보고 싶어서 작성한 코드
- 문제에 나온데로 풀면 num1 * num2로 해결되지만 제한사항을 넣어서 문제를 풀어봄
- 제한사항이 num1, num2가 모두 100보다 작거나 같으므로 &&(and연산자)를 이용하여 두가지를 모두 충족시킬 수 있는 조건식을 작성
😊 문제풀이 답안 OR 다른사람들 답안
const solution = (num1, num2) => num1 * num2
Q. 몫 구하기
정수 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) {
const result = Math.floor(num1 / num2)
return result;
}
- Math 객체
- 수학 상수와 함수를 위한 프로퍼티, 메소드를 미리 구현해 놓은 빌트인 객체
- 생성자(constructor)가 존재하지 않음
=> 인스턴스를 생성할 필요 없이 바로 사용 가능 - Math.PI
- 원의 둘레와 지름의 비율을 가짐
=> PI값(π = 3.141592653589793)를 반환함 - 자주사용하는 메소드
✔ Math.random()
- 임의의 부동 소수점을 리턴(여기서 리턴된 부동 소수점은 0부터 1미만)
- 0보다 크거나 같고, 1보다 작은 무작위 숫자(random number)를 리턴함
✔ Math.abs()
- 전달 받은 인수의 절대값(absolute value)을 리턴함
- 절대값은 반드시 0 또는 양수이어야 함
- 빈문자열, 빈배열 null 은 0을 반환하고 undefined, 빈객체, 문자열은 NaN을 리턴함
✔ Math.min()
- 리턴받은 값 중에서 가장 작은 수를 리턴함
- 인수가 없을 경우는 infinity를 리턴하고, 비교 불가능한 값이 있는 경우는 NaN을 리턴함
✔ Math.max()
- 전달받은 값 중에서 가장 큰 수를 반환함/
- 인수가 없을 경우는 infinity를 리턴하고, 비교 불가능한 값이 있는 경우는 NaN을 리턴함
✔ Math.round()
- 전달받은 값을 소수점 첫 번째 자리에서 반올림하여 숫자로 리턴함
✔ Math.floor()
- 전달받은 값과 같거나 작은 수 중 가장 큰 정수를 리턴함
- 소수점 이하를 내림한 정수를 반올림하기 때문에 Math.ceil()와 반대 개념
- 양수인 경우, 소수점 이하를 떼어 버린 다음 정수를 리턴
- 음수인 경우, 소수점 이하를 떼어버린 다음 -1을 한 정수를 리턴
✔ Math.ceil()
- 전달받은 값의 소수점 이하를 올림한 정수를 리턴함
✔ Math.sqrt
- 인수의 제곱근을 리턴함
😊 문제풀이 답안 OR 다른사람들 답안
// 1.
function solution(num1, num2) {
return ~~(num1/num2); // ~~ 틸트 연산자
}
// 2.
function solution(num1, num2) {
return Math.trunc(num1 / num2);
}
- 틸트 연산자
- tilde(~) 연산자
✔ 비트 연산자롸 NOT의 기능을 한다고 생각하면 됨 - double tilde(~~)
✔ tilde를 2번 반복해 주는 것
✔ 숫자에 ~ 연산을 하게되면 소수점들은 버려지게 되는데 ~~를 활용하면 양수에서는 Math.floor()와 같고 음수에서는 Math.ceil()과 같은 결과를 사용할 수 있음
=> 속도 측면에서 ~~가 더 빠름
- tilde(~) 연산자
- Math.trunc
- 소수점 뒤에 숫자를 제거하는 메소드
- 단순히 소수점을 없애는데 사용하는 메소드
- 소수점 뒤에 숫자를 제거하는 메소드
Q. 나머지 구하기
정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.
🚫제한 사항
0 ≤ num1 ≤ 100
0 ≤ num2 ≤ 100
❗입출력 예
num1 | num2 | result |
3 | 2 | 1 |
10 | 5 | 0 |
😀 내가 푼 답
function solution(num1, num2) {
return num1 % num2
}
- num1과 num2의 두수의 나머지를 구하기 때문에 나머지 연산자를 사용
😊 문제풀이 답안 OR 다른사람들 답안
const solution = (num1, num2) => num1 % num2