🖥️ 문제 풀이/프로그래머스
[프로그래머스] Lv0 - Day1 : 사칙연산
뒬탕
2022. 11. 5. 18:45
반응형
프로그래머스 코딩테스트 입문 레벨0 문제 해결법
문제1 :
두 수의 합을 출력
파이썬 (Python)
일반적인 해법
def solution(num1, num2):
return num1 + num2
solution = lambda a,b:a+b
특수한 해법
solution = int.__add__
기본 정의된 연산자 메서드 이용. 연산자 오버로딩시에 쓰임
자바스크립트 (Javascript)
function solution(num1, num2) {
return num1 + num2;
}
solution = function (num1, num2) { return num1 + num2; }
solution = (a,b) => a+b
자바스크립트에는 연산자 오버로딩이 없음
문제2 : 두 수의 차
두 수의 차를 출력
파이썬 (Python)
def solution(num1, num2):
return num1 - num2
solution = lambda a,b:a-b
solution = int.__sub__
자바스크립트 (Javascript)
function solution(num1, num2) {
return num1 - num2;
}
solution = (a,b) => a-b
문제3 : 두 수의 곱
두 수의 곱을 출력
파이썬 (Python)
def solution(num1, num2):
return num1 * num2
solution = lambda a,b : a*b
solution = int.__mul__
자바스크립트 (Javascript)
function solution(num1, num2) {
return num1 * num2;
}
solution = (a+b) => a*b
문제4 : 몫 구하기
앞 수를 뒤 수로 나눈 몫을 구하기
파이썬 (Python)
def solution(num1, num2):
return num1//num2
solution = lambda a,b : a//b
solution = int.__floordiv__
자바스크립트 (Javascript)
일반적인 해법
function solution(num1, num2) {
return parseInt(num1 / num2);
}
두 수를 나눠준 다음 parseInt 함수로 정수로 바꿔준다. Number.toFixed(), Math.trunc(), Math.floor()와 같은 함수들을 이용해줘도 된다.
특수한 해법
function solution(num1, num2) {
return (num1 / num2)<<0;
}
function solution(num1, num2) {
return ~~(num1 / num2);
}
자바스크립트에서는 실수에 비트연산을 하면 정수로 계산하게 된다. 따라서 0만큼 shift 시켜주거나 두 번 부정을 해주어 정수값을 구한다.
반응형