[프로그래머스] 레벨1 220419
📝최대공약수와 최소공배수
유클리드 호제법
... 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다.
최소공배수 성질
a와 b의 최소공배수는 a와 b의 곱을 a와 b의 최대공약수를 나눈 것과 같다.
나의 풀이
function solution(n, m) {
let answer = [];
function gcd(a, b) {
while (b !== 0) {
if(a > b) {
let r = a % b;
a = b;
b = r;
} else {
let temp = a;
a = b;
b = temp;
}
}
return a
}
answer[0] = gcd(n, m);
answer[1] = n*m / answer[0];
return answer;
}
다른사람의 풀이
function gcdlcm(a, b) {
var r;
for(var ab = a*b; r = a%b; a = b, b = r){}
return [b, ab/b];
}
정말 신박한 for문 사용법
📝서울에서 김서방 찾기
function solution(seoul) {
return "김서방은 " + seoul.indexOf("Kim") + "에 있다";
}
Author And Source
이 문제에 관하여([프로그래머스] 레벨1 220419), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kyz0111/프로그래머스-레벨1-220419저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)