본문 바로가기

코딩테스트(알고리즘)/baekjoon73

[baekjoon] 4179 불! (C++,Javascript) 4179번: 불! (acmicpc.net) 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문 www.acmicpc.net 접근 : BFS 자바스크립트 시간초과를 극복하기 위해 큐를 구현하여 풀이 완료. Javascript let input = require("fs") .readFileSync("input.txt") //"/dev/stdin" .toString() .split("\n") .map((val) => val.trim()); let [n, m] = input .shift() .split(" ") .map((v) => .. 2022. 6. 29.
[baekjoon] 7576 토마토 (C++,Javascript) 7576번: 토마토 (acmicpc.net) 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 접근 : BFS Javascript는 시간초과 발생. 항상 백준에서는 queue shift를 직접 구현하지 않고 사용하면 시간초과가 많이 발생한다. 그런 경우를 위해 c++과 함께 준비하고 있다. Javascript /** * 제출용. 아래 로컬용을 지우고 제출하자. */ // let input = require("fs").readFileSync("/dev/stdin").toString().trim().. 2022. 6. 29.
[baekjoon] 2178 미로탐색 (Javascript,C++) 2178번: 미로 탐색 (acmicpc.net) 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 접근 : 최단경로! bfs Javascript let input = require("fs") .readFileSync("input.txt") //"/dev/stdin" .toString() .split("\n") .map((val) => val.trim()); function solution(input) { //input let [n, m] = input .shift() .split(" ") .map((v) => +v); let graph = [.. 2022. 6. 28.
[baekjoon] 1463 1로만들기 (Javascript) 1463번: 1로 만들기 (acmicpc.net) 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 접근 : DP Javascript let input = require("fs") .readFileSync("input.txt") //"/dev/stdin" .toString() .split("\n") .map((val) => val.trim()); function solution(input) { let n = +input[0]; let DP = new Array(n + 1).fill(0); DP[0] = 100000000; DP[1] = 0; let i = 2; while (i 2022. 6. 26.