에러&&공부노트(30)
-
백준 1193번 풀이 node
문제 : 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. //예제 입력 1 1 //예제 출력 1 1/1 const fs = require('fs'); const input = fs.readFileSync(0).toString().trim(); const fn_result = (input) ..
2022.12.24 -
백준 2292번 풀이 node
문제 : 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. //예제 입력 1 13 //예제 출력 1 3 const fs = require('fs'); const input = fs.readFileSync(0).toString().trim(); const fn_result = (input) => { let i = size = 1; while (Number(in..
2022.12.23 -
백준 1712번 풀이 node
문제 : 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다. A, B, C가 주..
2022.12.23 -
[Javascript] 백준 1260번 DFS와 BFS - node.js
문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 예제 입력 1 4 5 1 1 2 1 3 1 4 2 4 3 4 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결..
2022.12.16 -
깊이우선탐색(DFS)과 너비우선탐색(BFS)
BFS/DFS를 처음 접하는 사람은 아래 링크의 유튜브 설명을 보는 것을 추천한다. BFS/DFS를 이해하기 정말 좋은 영상이고, 이 포스팅도 해당영상을 기반으로 했다. ▶ 위의 그림은 DFS와 BFS 경로를 순서대로 나타낸 것이다. 해당 그림을 통해 직관적으로 DFS와 BFS의 차이를 알 수 있을 것이다. 깊이우선탐색인 DFS는 가장 깊은 곳까지 방문하고, 너비우선탐색인 BFS는 같은 레벨 인접 노드를 전부 방문한뒤 다음 레벨 인접 노드를 방문한다. DFS는 Stack을 통해 구현하고, BFS는 Queue를 통해 구현한다. ✏️ 깊이우선탐색(DFS) 구현 👉🏻 깊이우선탐색 DFS(Depth-First Search)는 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다. ▶ 깊이우선탐색(DFS) 구현..
2022.12.16 -
[자료구조] 스택(Stack)/큐(Queue)/덱(Deque)
✏️ 스택(Stack) 👉🏻 스택이란, 한쪽에서만 자료를 넣고 뺄 수 있는 후입선출 LIFO(Last In First Out)형식의 선형 자료구조이다. 스택의 기본 개념은 영어 단어의 뜻과 같이 '쌓는다'는 뜻이다. 스택은 같은 구조와 크기의 자료를 정해진 방향으로만 쌓을수 있고, top으로 정한 곳을 통해서만 접근할 수 있다. 예를 들어, 박스 쌓기에 비유할 수 있다. 박스를 아래에서 위로 차곡차곡 쌓으면 아래에 있는 박스를 치우기 위해서는 맨 위의 박스부터 치워야 한다. 아래부터 1->2->3 순서로 쌓여있는 상자를 오른쪽으로 옮긴다고 가정해보자. 먼저 가장 위에 있는 3번 상자를 오른쪽으로 옮기고, 그 후에는 2번 상자를 옮기고, 다음에는 1번 상자를 옮길 것이다. 즉, 마지막에 입력된 상자가 첫 ..
2022.12.16