📌 문제 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34]) 집합 S와 k가 주어졌을 때, 수를 고르는 모든 방법을 구하는 프로그램을 작성하시오. 📌 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다..
ROOT
📌 문제 스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다. 1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push하는 순서는 반드시 오름차순을 지키도록 한다고 하자. 임의의 수열이 주어졌을 때 스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지를 알아낼 수 있다. 이를 계산하는 프로그램을 작성하라. 📌 입력 첫 줄에 n (1 ≤ n ≤ 100,000)..
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 디렉토리/디렉토리/디렉토리...: 디렉토리를..