728x90
반응형
백준 2609번 Node.js(자바스크립트) 풀이
❓ 문제
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
💻 입력
첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.
📈 출력
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
반응형
👩🏻 내가 제출한 코드
const input = require('fs').readFileSync("dev/stdin").toString().trim().split(" ");
//최대공약수 >> 두 수를 동시에 나눌수있는 가장 큰 수 / b와 a를 b로 나눈 나머지의 최대공약수
let a = parseInt(input[0]>input[1]?input[0]:input[1]);
let b = parseInt(input[0]<input[1]?input[0]:input[1]);
//a와b의 나머지를 b에다 넣고 a에 b를 넣어서 b가 0이 되었을때 a가 최대공약수
while(b!==0){
let temp = b;
b = a % b;
a = temp;
}
let a2 = parseInt(input[0]>input[1]?input[0]:input[1]);
let b2 = parseInt(input[0]<input[1]?input[0]:input[1]);
//최소공배수 >> 두 정수를 곱한 수에 최대공약수로 나눈 값
let result2 = a2*b2/a;
console.log(a);
console.log(result2);
👩🏻💻 풀이
//최대공약수 구하기
// 두 수를 동시에 나눌수있는 가장 큰 수
//즉, b와 a를 b로 나눈 나머지의 최대공약수
//입력값의 큰수가 무조건 a, 작은수가 b가 되도록 설정
let a = parseInt(input[0]>input[1]?input[0]:input[1]);
let b = parseInt(input[0]<input[1]?input[0]:input[1]);
//a와b의 나머지를 b에다 넣고 a에 b를 넣어서 b가 0이 되었을때 a가 최대공약수
while(b!==0){
let temp = b;
b = a % b;
a = temp;
}
//a가 최대공약수이다.
>> while : 조건문이 참일 때 실행되는 반복문
//최소공배수 구하기
//두 정수를 곱한 수에 최대공약수로 나눈 값
//마찬가지로 입력값 중 큰 수가 a2, 작은 수가 b2가 되도록 설정
let a2 = parseInt(input[0]>input[1]?input[0]:input[1]);
let b2 = parseInt(input[0]<input[1]?input[0]:input[1]);
//두 정수를 곱한 수에 최대공약수로 나눈 값
let result2 = a2*b2/a;
>> parseInt( ) : 입력받은 값이 string이므로 숫자로 변환시키는 함수
console.log(a); //최대공약수
console.log(result2); //최소공배수
🤓문제 풀면서 느꼈던 점이나 고민했던 점
최대공약수과 최소공배수 초등학생때 배운 ㄴ자 나눗셈이 별로 도움이 안됐다. 아는 데 모르는 이 기분...😅
어떤 원리로 이루어지는지 찾아보고 이해하고 나니까 금방 풀었다.
🔗문제 링크
https://www.acmicpc.net/problem/2609
2609번: 최대공약수와 최소공배수
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
www.acmicpc.net
728x90
반응형
'Coding With Jina > Coding Test' 카테고리의 다른 글
[코딩테스트] 백준 1373번 Node.js(자바스크립트) 풀이 (0) | 2024.04.27 |
---|---|
[알고리즘] 에라토스테네스의 체 (0) | 2024.04.25 |
[코딩테스트] 백준 17413번 Node.js(자바스크립트) 풀이 (0) | 2024.04.24 |
[코딩테스트] 백준 1157번 Node.js(자바스크립트) 풀이 (0) | 2024.04.23 |
[코딩테스트] 백준 11720번 Node.js(자바스크립트) 풀이 (0) | 2024.04.23 |