node.js 2

[백준] 5557 1학년 node/javascript(자바스크립트)

(끝에 출력때문에 고생해서 블로그에 정리해두려고 한닷) 문제링크 : https://www.acmicpc.net/problem/5557풀이 및 사고모든 케이스를 깡으로 계산하면 2^100( +, -로 두 가지 경우가 계속 발생)로 시간 초과다.근데 문제에서 0에서 20까지만 결과값을 유지한다고 주어져서 최대 100*21의 복잡도를 가지는 배열로 풀 수 있었다. 01...20첫 번째 값    두 번째 값    ...    마지막 값     요런 배열을 만들어서 이전 줄을 다 순회하면서 1이상의 값(해당 경우의 수)일 때 현재 값으로 +/-한 값(인덱스)에 경우의 수를 더해주면 된다.(문제를 대충 읽어서 주어진 출력을 다 써서 0~20 사이의 값을 만들면 되는줄 알았는데 그게 아니고 입력 제일 마지막 값이 되..

TIL/알고리즘 2024.08.03

[백준] 2412 암벽 등반 node/javascript(자바스크립트)

(블로그로 정리된 자료가 없어서 문제 푸는 분들에게 도움이 될까 남겨봅니닷) 문제 링크 : https://www.acmicpc.net/problem/2412풀이 및 사고좌표를 받아서 y값, x값 순으로 정렬했다. 그리고 좌표가 정렬된 배열에서 index를 가지고 bfs를 돌렸다. y값 차이가 2초과면 멈추게 했다. 그리고 올라가기만 한다는 보장이 없어서 해당 index보다 앞과 뒤 둘 다 탐색했다.방문 처리는 좌표가 정렬된 배열과 같은 길이의 1차원 배열로 처리했다. (처음에는 전체 board를 저장하는 2차원 배열을 만드려고 했다가 x좌표가 1,000,000이고 y좌표가 200,000인데 메모리 제한이 128MB라 공간 복잡도 초과가 떴다.)코드const input = require('fs').read..

TIL/알고리즘 2024.08.02