Front-end/알고리즘(82)
-
[백준] 2447. 별 찍기 - 10 (node.js/javascript/자바스크립트/알고리즘/코딩테스트/재귀함수)
[백준] 2447. 별 찍기 - 10 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 29442 15117 11028 51.162% 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3k이며,..
2021.04.23 -
[백준] 11729. 하노이 탑 이동 순서(node.js/javascript/하노이의 탑 알고리즘/코딩테스트/자바스크립트 알고리즘)
[백준] 11729. 하노이 탑 이동 순서 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 34398 16760 13013 48.547% 문제 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 원판이 5개인 경우의 예시이다. 입력 첫째 줄에 첫 번째 장대에 쌓인 원판의 개수 N (1 ≤..
2021.04.23 -
[백준] 3053. 택시 기하학 (자바스크립트/node.js/javascript/알고리즘/코딩테스트)
[백준] 3053. 택시 기하학 문제 19세기 독일 수학자 헤르만 민코프스키는 비유클리드 기하학 중 택시 기하학을 고안했다. 택시 기하학에서 두 점 T1(x1,y1), T2(x2,y2) 사이의 거리는 다음과 같이 구할 수 있다. D(T1,T2) = |x1-x2| + |y1-y2| 두 점 사이의 거리를 제외한 나머지 정의는 유클리드 기하학에서의 정의와 같다. 따라서 택시 기하학에서 원의 정의는 유클리드 기하학에서 원의 정의와 같다. 원: 평면 상의 어떤 점에서 거리가 일정한 점들의 집합 반지름 R이 주어졌을 때, 유클리드 기하학에서 원의 넓이와, 택시 기하학에서 원의 넓이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 반지름 R이 주어진다. R은 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄에는..
2021.04.19 -
[백준] 3009. 네번째 점(node.js/javascript/자바스크립트/알고리즘/코딩테스트)
[백준] 3009. 네번째 점 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 128 MB 16242 11630 10570 73.311% 문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 예제 입력 1 30 20 10 10 10 20 예제 출력 1 30 10 내가 작성한 코드 (자바스크립트) let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split("\n"); let array..
2021.04.17 -
[백준] 1085. 직사각형에서 탈출(node.js/javascript/자바스크립트/알고리즘/코딩테스트)
[백준] 1085. 직사각형에서 탈출 문제 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 x, y, w, h가 주어진다. 출력 첫째 줄에 문제의 정답을 출력한다. 제한 1 ≤ w, h ≤ 1,000 1 ≤ x ≤ w-1 1 ≤ y ≤ h-1 x, y, w, h는 정수 예제 입력 1 6 2 10 3 예제 출력 1 1 내가 작성한 코드 (자바스크립트) let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split(" "); const x = Number(i..
2021.04.17 -
[백준] 11653. 소인수분해 (node.js/javascript/자바스크립트/알고리즘/코딩테스트)
[백준] 11653. 소인수분해 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 26265 14154 11200 53.331% 문제 정수 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 내가 작성한 코드 (자바스크립트) let fs = require('fs'); let inpu..
2021.04.14