📌 문제 스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다. 1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push하는 순서는 반드시 오름차순을 지키도록 한다고 하자. 임의의 수열이 주어졌을 때 스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지를 알아낼 수 있다. 이를 계산하는 프로그램을 작성하라. 📌 입력 첫 줄에 n (1 ≤ n ≤ 100,000)..
ROOT
Node.js의 express 프레임워크를 사용하던 중, 모듈을 임포트하는 방식을 ES6로 전환하니 위와 같은 에러가 발생했다. ES6 Module Scope Node.js에서는 기본적으로 CommandJS로 모듈을 불러오는데, package.json 파일에 "type": "module"을 추가해서 ES6로 모듈을 불러오게 되면 __dirname을 사용할 때 문제가 생긴다. ES6에서는 __dirname을 정의하지 않기 때문이다. 따라서 직접 __dirname 변수를 정의해주어야 한다. import path from "path"; import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); const __di..
디렉토리 리스트 $ ls: list의 준말, 현재 디렉토리 상에 있는 모든 파일 및 폴더를 출력 💡옵션 선택 -a: 숨김 파일을 포함하여 모든 파일을 출력 -l: 권한, 파일명, 시간 등 자세하게 리스트 형식으로 출력 -c: 파일의 최근 변경순으로 정렬하여 출력 -i: 파일의 색인 번호와 함께 출력 -m: 파일을 콤마(,)를 통해서 가로로 출력 -r: 내림차순으로 출력 -u: 최근 사용한 순으로 정렬하여 출력 $ ls -al과 같이 숨김파일도 보고 권한 등을 함께 출력하는 등 여러 가지를 조합하여 출력할 수도 있다. 생성 $ mkdir 디렉토리: make directory의 준말로 새로운 디렉토리를 현재 디렉토리를 기준으로 생성할 수 있다. $ mkdir -p 디렉토리/디렉토리/디렉토리...: 디렉토리를..
📌 문제 두 수 a와 b가 주어졌을 때, a와 b의 최소 공배수를 구하는 프로그램을 작성하시오 📌 입력 첫째 줄에 테스트 케이스의 개수 n이 주어진다. 다음 n개 줄에는 a와 b가 주어진다. a와 b사이에는 공백이 하나 이상 있다. 두 수는 백만보다 작거나 같은 자연수이다 📌 출력 각 테스트 케이스에 대해서 입력으로 주어진 두 수의 최소공배수를 출력한다. 📌 문제 풀이 👨🏫 접근 최소공배수는 최대공약수를 통해 구할 수 있다. 최대공약수는 둘을 나눌 수 있는 최대한의 공약수로 이 공약수를 사용해서 두 수의 곱을 나누면 최소공배수를 구할 수 있다. 일반적으로 두 개의 수를 곱하면 서로의 공배수가 만들어지는데, 이를 서로 나눌 수 있는 수중에 가장 크고 두 수의 나머지를 만들지 않는 수가 최대공약수이기 때문..