반응형
언어 : JavaScript
두 수의 합
function solution(num1, num2) {
return num1 + num2;
}
const solution = (num1, num2) => num1 + num2
화살표 함수를 이용한 문제풀이
두 수의 차
function solution(num1, num2) {
var answer = num1 - num2;
return answer;
}
function solution(num1, num2) {
return num1 - num2;
}
const solution = (num1, num2) => num1 - num2
두 수의 곱
function solution(num1, num2) {
var answer = num1 * num2;
return answer;
}
const solution = (a, b) => a * b
두 수의 나눗셈
function solution(num1, num2) {
var answer = (num1 / num2) * 1000;
return parseInt(answer); // 정수형으로 형변환
}
const solution = (num1, num2) => Math.floor(num1 / num2 * 1000)
// Math.floor은 주어진 숫자를 소수점 아래로 버린 뒤 가장 가까운 정수를 반환하는 함수
function solution(num1, num2) {
return ~~(num1/num2*1000);
}
나머지 구하기
function solution(num1, num2) {
var answer = num1 % num2;
return answer;
}
const solution = (a,b) => a % b
숫자 비교하기
function solution(num1, num2) {
var answer = 0;
if(num1 == num2){
answer = 1;
}else{
answer = -1;
}
return answer;
}
정수 num1과 num2가 명시되어 있으니 '==' 동등 연산자(equality operator)를 사용 가능
function solution(num1, num2) {
var answer = num1 === num2 ? 1 : -1;
return answer;
}
if문이 길어지면 보기 불편할 때가 있는데 간단한 if문을 대체할 수 있을 때 사용하는 삼항연산자
나이 출력
function solution(age) {
return 2023 - age;
}
function solution(age) {
let today = new Date();
return today.getFullYear() - age + 1; // 올해 나이 구하는 방법
}
function solution(age) {
let today = new Date();
return today.getFullYear() - age + 1; // But, 문제는 2022년 기준
}
몫 구하기
function solution(num1, num2) {
const answer = parseInt(num1 / num2);
return answer;
}
이외에도 JavaScript로 몫 구하는 몇 가지 방법이 있어 [zeo.y 블로그] 참고한 내용으로 조금 더 남겨본다.
function solution(num1, num2) {
const answer = Math.floor(num1 / num2);
return answer;
}
function solution(num1, num2) {
const answer = ~~(num1 / num2);
return answer;
}
// 다른 틸트 연산자 사용법
funtion solution(num1, num2) {
return ~~(num1 / num2);
}
그렇다. 나도 몰랐다.
Math.floor 같은 결과를 출력한다.
~는 비트 연산의 not이고, 숫자에 ~ 연산을 하면 소수점이 버려지는데,
~~는 ~을 두 번 실행한 것으로 숫자에 활용하면 정수 부분만 취할 수 있다.
수행 속도 또한 가장 빠르다.
반응형
'공부 > Algorithm' 카테고리의 다른 글
프로그래머스 코딩테스트 입문 문제풀이 모음 (0) | 2023.06.01 |
---|