[백준] 1062번: 연결 요수의 개수 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/11724개념그래프 탐색DFS, BFS구현 코드(JavaScript)const fs = require('fs');let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const [n, m] = input[0].split(' ').map(Number);const graph = Array(n + 1) .fill(0) .map(() => Array(n + 1).fill(0));for (let i = 1; i { const queue = [start]; visited[start] = true; while (queue.length) { const node = qu..
[백준] 13904번: 과제 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/13904  개념그리디, 정렬, 우선순위 큐 코드 설명그리디 알고리즘을 이용해 풀 수 있습니다. 가장 큰 점수를 구하기 위해서는 최대한 큰 점수의 과제부터 처리하되, 가능한 가장 늦은 날짜에 배정해야만 대한 많은 과제를 수행하고 높은 점수를 얻을 수 있기 때문입니다.  문제의 요구사항을 분석하면 다음과 같습니다.하루에 한 과제만 할 수 있습니다.과제는 마감일 전에만 수행할 수 있습니다.목표는 얻을 수 있는 점수의 최댓값을 구하는 것입니다. 이를 해결하기 위한 알고리즘의 핵심 아이디어는 다음과 같습니다.정렬 방식: 점수 기준 내림차순으로 정렬합니다. 마감일에 따라 높은 점수의 과제부터 할당스케줄 배열 사용: scedule 배열을 사용하여 각 날짜..
[백준] 11659번: 구간 합 구하기 4 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/11659  개념누적 합  실행 결과1291     구현 코드(JavaScript)const fs = require('fs');// 백준 제출용let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 로컬 테스트용// const filePath =// process.platform === 'linux' ? '/dev/stdin' : __dirname + '/input.txt';// const input = fs.readFileSync(filePath).toString().trim().split('\n');// 백준 11659번: 구간 합 구하기 4const [n, ..
[백준] 1914번 - 하노이 탑 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/1914  개념재귀 호출큰 수 연산  실행 결과    구현 코드(js)/*1914번 하노이 탑 자바스크립트 https://www.acmicpc.net/problem/1914오버플로우 해결 => BigInthttps://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/BigInt*/const fs = require('fs');const input = fs.readFileSync(0).toString().trim().split('\n');let n = Number(input[0]);let resArr = [];// 로컬 테스트용// const filePath =// p..
[백준] 1010번: 다리 놓기
·
PS
문제https://www.acmicpc.net/problem/1010  개념수학(조합), 다이나믹 프로그래밍  실행 결과    구현 코드(c++)#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int t; cin >> t; while (t--) { int n, m; cin >> n >> m; unsigned long long res = 1; for (int i = 0; i     코드 설명단순히 조합 mCn을 계산하는 문제이다.처음에는 공식을 사용하여 단순 계산식을 만들었으나 시간 초과로 실패하거나 메모리 에러가 발생했다..
[백준] Fly me to the Alpha Centauri
·
PS
문제https://www.acmicpc.net/problem/1011  개념수학  실행 결과     구현 코드(c++)#include #include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int t; cin >> t; while (t--) { long long x, y; cin >> x >> y; double dist = y - x; // 거리 double dist_sqrt = sqrt(dist); // 거리 제곱근 int dist_round = round(dist_sqrt); // ..
백준 2869번: 달팽이는 올라가고 싶다
·
PS
문제땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다.또, 정상에 올라간 후에는 미끄러지지 않는다.달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.   실행 결과     코드(c++)#include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); long long unsigned int a, b, v; cin >> a >> b >> v; cout     코드 설명 문제가 짧길래 쉬운 줄 알았는데 생각보다 어려운 문제였다..일단..
백준 1259번: 팰린드롬수
·
PS
문제각 줄마다 주어진 수가 팰린드롬수면 'yes', 아니면 'no'를 출력한다.입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.   실행 결과     코드(c++)#include #include using namespace std;// 문자열이 팰린드롬이면 true 라턴bool isPalindrome(string str) { bool isPalindrome = true; for (int i = 0; i > str) { if (str == "0") { break; } if (isPalindrome(str)) cout     코드 설명팰린드롬수..
백준 2747번: 피보나치 수
·
PS
문제n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오.    실행 결과     코드(c++)#include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; int a = 0; // Fn-2 int b = 1; // Fn-1 long int c = 0; // Fn if (n == 1) { c = 1; } else { for (int i = 1; i     코드 설명같은 난이도끼리 비교했을 때 비교적 쉬운 문제였다.문제에 따르면 n=17일때 까지 피보나치 수를 써보면 다음과 같다.0, 1, 1, 2, 3, 5, 8, 13,..
백준 2444번: 별 찍기 - 7
·
PS
문제첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. (마름모 꼴)  * *** ***** **************** ******* ***** *** *   실행 결과     코드(c++)#include using namespace std;int main() { int n; cin >> n; // 삼각형 for (int i = 1; i = 1; i--) { for (int j = n; j > i; j--) { cout     코드 설명중첩 반복문 및 각 변수에 대한 정확한 이해가 필요한 문제이다.먼저 마름모 꼴을 만들기 위해 모양을 두 부분으로 나누어, 삼각형 두 개를 따로 구현한다.먼저 1, 2번 모두 총 n번의 줄을 찍으므로 가장 바깥에서 i를 이용해 반복문을 ..
백준 2231번: 분해합
·
PS
문제자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오.    실행 결과   코드(c++)#include #include using namespace std;int main() { int n; cin >> n; int result = 0; for (int i = 1; i 0) { /* 자릿수별로 더하기 */ sum += temp % 10; temp /= 10; if (temp == 0) break; } if (sum == n) { /* 입력받은 n과 일치되면 for 문 종료 */ result = i; break; } } cout     코드 설명사용자로부터..
백준 1977번: 완전제곱수
·
PS
문제M과 N이 주어질 때 M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합을 구하고 그 중 최솟값을 찾는 프로그램을 작성하시오.  실행 결과 코드(c++)#include #include using namespace std;int main() { int a, b; cin >> a >> b; int sum = 0; int min = -1; int n = 1; for (int i = a; i i) { min = i; } } } if (sum == 0) cout    코드 설명먼저 완전제곱수의 개념을 알아야 한다.완전제곱수란 어떤 자연수의 제곱 형태로 표현할 수 있는 수이다.ex. 1, 4, 9, 16, 25,..