[백준] 7453번: 합이 0인 네 정수 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/7453  개념투포인터, 이분탐색, 해시맵  구현 코드(JavaScript)const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const n = +input[0];const lines = input.slice(1).map((li) => li.split(' ').map((i) => +i)); const map = new Map();for (let i = 0; i    코드 설명4개의 열(column)을 가진 n x 4 크기의 행렬이 주어졌을 때 A[a]+B[b]+C[c]+D[d]=0이 되는 쌍, 즉 조합 개수를 찾는 문제입..
[백준] 16562번: 친구비 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/16562 개념그래프, 분리 집합, 유니온 파인드   구현 코드(JavaScript)const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const [n, m, k] = input[0].split(' ').map((i) => +i);const friendCost = input[1].split(' ').map((i) => +i); // 친구비 입력const friendRelation = input // 친구 관계 [v, w] 입력 .slice(2) .map((real) => real.split(' ').map((i) =>..
[백준] 2108번: 통계학 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/2108개념수학, 구현구현 코드(JavaScript)const fs = require('fs');const input = fs.readFileSync(0, 'utf-8').trim().split('\n');const n = +input[0];const arr = input.slice(1).map((i) => +i);arr.sort((a, b) => a - b);// 산술평균let avg = (arr.reduce((a, c) => a + c, 0) / n).toFixed(0);console.log(avg == '-0' ? 0 : avg);// 중앙값console.log(arr[Math.floor(n / 2)]);// 최빈값const map = n..
[백준] 1213번: 팰린드롬 만들기 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/1213 개념그리디 알고리즘 구현 코드(JavaScript)const fs = require('fs');let input = fs.readFileSync('/dev/stdin').toString().trim();const arr = new Array(26).fill(0);for (const ch of input) { arr[ch.charCodeAt(0) - 65]++;}let oddChar = '';let oddCount = 0;let left = '';let right = '';for (let i = 0; i 1) { result = "I'm Sorry Hansoo";} else { for (let i = 0; i   코드 설명이 문제..
[백준] 7576번: 토마토 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/7576  개념그래프 탐색BFS 구현 코드(JavaScript)const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const [m, n] = input[0].split(' ').map(Number);const tomatoes = input.slice(1).map((row) => row.split(' ').map(Number));let q = [];const dx = [1, -1, 0, 0];const dy = [0, 0, 1, -1];let day = 0;for (let i = 0; i = n || ny = m) cont..
[백준] 11053번: 가장 긴 증가하는 부분 수열 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/11053 개념동적 계획법(DP)   구현 코드(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');const n = Number(input[0]);const arr = inp..
[백준] 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, ..
[SWEA] 6808번: 규영이와 인영이의 카드게임 (Java)
·
PS
문제 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com  개념순열, 백트래킹  실행 결과#1 112097 250783#2 250783 112097#3 336560 26320#4 346656 16224    구현 코드(Java)import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Scanner;public class Solution { static int winCount = 0; static int loseCount = 0; // swap permutation을 위한 스왑 함수 public static void swap(int[]..
[백준] 15926번: 현욱은 괄호왕이야!! (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/15926 개념자료구조, 스택  실행 결과   구현 코드(js)const fs = require('fs');// 백준 제출용let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 로컬 테스트용// const filePath =// process.platform === 'linux' ? '/dev/stdin' : __dirname + '/input.txt';// let input = fs.readFileSync(filePath).toString().trim().split('\n');// 15926번 현우는 괄호왕이야!!const n = Number(input.shi..
[백준] 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..