Algorithm
-
[백준] 11653번 소인수분해 (Node.js)Algorithm 2021. 1. 23. 16:46
문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 예제 입력 1 72 예제 출력 1 2 2 2 3 3 예제 입력 2 3 예제 출력 2 3 예제 입력 3 6 예제 출력 3 2 3 예제 입력 4 2 예제 출력 4 2 예제 입력 5 9991 예제 출력 5 97 103 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = ..
-
[백준] 10870번 피보나치 수Algorithm 2020. 12. 12. 13:59
문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 n번째 피보나치 수를 출력한다. 예제 입력 1 복사 10 예제 출력 1 복사 55 const readline = require..
-
[백준] 10872번 팩토리얼 (Node.js)Algorithm 2020. 12. 12. 13:43
문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다. 출력 첫째 줄에 N!을 출력한다. 예제 입력 1 10 예제 출력 1 3628800 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); const getFactorial = (num) => { if (num
-
[Algorithm] BFS와 DFSAlgorithm 2020. 7. 7. 21:19
DFS(Depth-First Search) 루트 노드 또는 임의의 노드에서 다음 브랜치로 넘어가기 전에 해당 브랜치를 모두 탐색하는 방법 스택 or 재귀함수를 이용해 구현 모든 경로를 방문해야 할 경우에 적합함 시간 복잡도(정점의 수 : N, 간선의 수 : E) 인접 행렬 : O(V^2) 인접 리스트 : O(V+E) BFS(Breadth-First Search) 루트 노드 또는 임의의 노드에서 인접한 노드부터 먼저 탐색하는 방법 큐를 이용해 구현 최소 비용이 우선일 때 적합함 시간 복잡도(정점의 수 : N, 간선의 수 : E) 인접 행렬 : O(V^2) 인접 리스트 : O(V+E)
-
[백준] 3053번 택시 기하학 (JAVA)Algorithm 2020. 5. 22. 14:42
문제 19세기 독일 수학자 헤르만 민코프스키는 비유클리드 기하학 중 택시 기하학을 고안했다. 택시 기하학에서 두 점 T1(x1,y1), T2(x2,y2) 사이의 거리는 다음과 같이 구할 수 있다. D(T1,T2) = |x1-x2| + |y1-y2| 두 점 사이의 거리를 제외한 나머지 정의는 유클리드 기하학에서의 정의와 같다. 따라서 택시 기하학에서 원의 정의는 유클리드 기하학에서 원의 정의와 같다. 원: 평면 상의 어떤 점에서 거리가 일정한 점들의 집합 반지름 R이 주어졌을 때, 유클리드 기하학에서 원의 넓이와, 택시 기하학에서 원의 넓이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 반지름 R이 주어진다. R은 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄에는 유클리드 기하학에서 반지름이 R..
-
[백준] 4153번 직각삼각형 (JAVA)Algorithm 2020. 5. 22. 14:25
문제 과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오. 입력 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. 출력 각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다. 예제 입력1 6 8 10 25 52 60 5 12 13 0 0 0 예제 출력1 right wrong right 코드 import java.util.Scanner; public class no_4153 { public static void main(String[] args) { in..