반응형
프로그래머스 코딩테스트 입문 레벨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 시켜주거나 두 번 부정을 해주어 정수값을 구한다.
반응형
'🖥️ 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv0 - Day2 : 사칙연산, 조건문, 배열 (0) | 2022.11.05 |
---|---|
[프로그래머스] Lv1 - 과일로 만든 아이스크림 고르기 (0) | 2022.11.03 |
[프로그래머스] Lv2 - 조이스틱 (0) | 2022.10.14 |
[프로그래머스] PCCP 모의고사 - 유전법칙 (2) | 2022.10.14 |
[프로그래머스] Lv2 - 카펫 (0) | 2022.10.10 |
댓글