N

(백준 JS)10872 팩토리얼 본문

백준 알고리즘

(백준 JS)10872 팩토리얼

naeunchan 2021. 6. 21. 23:41
728x90
반응형

문제

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다.

출력

첫째 줄에 N!을 출력한다.

 

 

백준에서 JS로 풀어본 첫 문제.

node.js로 푸는데 입력을 어떻게 받아야 할 지 몰라서 구글링으로 찾았다.

주로 사람들은 시간초과 때문에 fs를 쓴다고 하지만, 공지 사항에 올라온 바로는

fs가 문제가 있어서 지금은 readline으로 쓰길 권장하고 있다!

 

-----

입력으로 주어진 N은 0 ~ 12로 크지 않기 때문에

흔히 사용하는 재귀 함수로 풀었다.

만약 N이 커진다면 DP를 이용해야 할 것이다.

그러나 브론즈 문제이기 때문에 재귀로 풀 수 있다..!

const readline = require("readline");

function factorial(n){
	if(n < 2){
		return 1;
	}
	else{
		return n * factorial(n - 1);
	}
}

const rl = readline.createInterface({
	input: process.stdin,
	output: process.stdou
});

rl.on("line", function(line) {
	const answer = factorial(parseInt(line));
	console.log(answer);
	
	rl.close();
}).on("close", function(){
	process.exit();
});
728x90
반응형

'백준 알고리즘' 카테고리의 다른 글

(백준 c++)2573 빙산  (0) 2021.06.22
(백준 c++)9205 맥주 마시면서 걸어가기  (0) 2021.06.22
(백준 c++)2468 안전 영역  (0) 2021.06.21
(백준 c++)5014 스타트링크  (0) 2021.06.18
(백준 c++)2644 촌수 계산  (0) 2021.06.16