반응형
반응형
💪렉시컬 스코프 렉시컬 환경의 “외부 렉시컬 환경에 대한 참조”에 저장된 참조값. 즉 상위 스코프는 평가되는 시점에 함수가 정의된 환경(위치)에 의해 결정된다. 💪함수 객체 내부슬롯 [[Environment]] 함수는 내부슬롯 [[Environment]]에 자신이 정의된 환경, 즉 상위 스코프를 저장한다. (현재 실행중인 실행 컨텍스트의 렉시컬 환경) 함수 객체 내부슬롯 [[Environment]]에 저장된 현재 실행중인 실행 컨텍스트의 렉시컬 환경의 참조가 상위 스코프이다. 또 호출 되었을 때 생성된 함수 렉시컬 환경의 “외부 렉시컬 환경에 대한 참조”에 저장될 참조 값이다 즉 함수는 내부 슬롯 [[Environment]]가 있고, 함수가 정의 될 때 상위 스코프를 저장. 저장된 값은 호출이 되어도 바..
1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net 😉문제 설명 이번 문제는 stack을 이용하는 문제입니다. 주어진 input을 배열로 만들고 차례대로 순회합니다. 순회 중인 값이 연산자 혹은 괄호 일 경우, stack에 넣고, 그렇지 않고 문자일 경우 정답 배열에 넣습니다. 연산자의 값이 +, -일 때는 스택에 넣고, 그 다음 스택으로 들어오는 연산자가 +, - 일 경우, 먼저 스택에 들어가 있는 연산자를 꺼내고 정답 배열에 넣습니다. 이후 들어온 연산자를 stack에 넣습니다. //A+B-C의 예시 1...
1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 😉문제 설명 이 문제는 단순한 다익스트라 문제이지만, 주의해야 할 부분이 몇가지 있습니다. 하나의 출발 지점에서 하나의 다른 도착 지점으로 가는 버스 노선이 여러 개 일 수 있습니다. 따라서 최소 비용을 가진 노선만 간선에 넣어주어야 합니다. (모든 노선을 넣으면 시간 초과가 납니다.) 비용이 0인 간선이 있습니다. 아래 코드는 틀린 코드와 맞는 코드입니다. 0은 falsy값 이기 때문에 주의가 필요합니다. 틀린 코드 const..
11657번: 타임머신 첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수 M (1 ≤ M ≤ 6,000)이 주어진다. 둘째 줄부터 M개의 줄에는 버스 노선의 정보 A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)가 주어진다. www.acmicpc.net 기본적인 밸만 포드 알고리즘 문제입니다. 각 노드에서 모든 간선을 순회하며 모든 노드를 순회하는 O^2의 시간복잡도를 가집니다. 정확하게는 출발노드를 제외한 N-1개의 노드에서 E개의 간선을 순회하여 NE의 시간복잡도를 가집니다 문제풀이 let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().trim().split("\\n..
1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net 이 문제는 벨만-포드 알고리즘을 이용하여 풀 수 있습니다. 일반적인 벨만-포드 문제와는 다르게, 각 노드에 도달할 수 있는 최소시간을 Infinity로 하면 풀리지 않습니다. 시작 노드가 모든 점이 될 수 있기 때문에 Infinity가 아닌 0으로 초기값을 넣어 줍니다. 문제풀이 let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split("\\n"); //테스트..
16920번: 확장 게임 구사과와 친구들이 확장 게임을 하려고 한다. 이 게임은 크기가 N×M인 격자판 위에서 진행되며, 각 칸은 비어있거나 막혀있다. 각 플레이어는 하나 이상의 성을 가지고 있고, 이 성도 격자판 위 www.acmicpc.net 이 문제는 2중 Queue를 구현하는 문제라 생각됩니다. value값으로 Queue를 가지는 배열 Queue를 만들어, 배열 Queue를 순회하면서 내부 Queue를 순회하는 방식으로 문제를 풀었습니다. 문제 풀이 let fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split("\\n"); const [N,M,P] = input[0].split(" ").map(..