📌 문제 절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다. 배열에 정수 x (x ≠ 0)를 넣는다. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 📌 입력 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 절댓값이 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다. 입력되는 정수는 -231보다 크고, 231보다 작다. 📌 출력 입력에서 0이 ..
ROOT
컨트롤러 각 라우트의 경로와 메서드에 따라서 서버가 실행할 서비스가 다릅니다. 그래서 라우트에 따라서 분류해준 후에 다시 그 라우트에서 사용할 함수들을 정리해줍니다. 이때, 지정된 메서드와 경로에서 실행되는 역할을 해주는 것이 컨트롤러입니다. 유저 인증 라우터에서 컨트롤러 파일을 별로도 두어 연결해보겠습니다. 기존에는 각 메서드와 경로에 따라서 매번 함수를 적어주면서 코드의 가독성이 조금 떨어지는 문제가 있었습니다. 이때 콜백 함수를 따로 저장하기 위해서 루트 디렉터리 하위에 controllers 폴더를 생성하고 user.controller.js 파일을 만들어줍니다. 그 이후, 각 콜백함수를 컨트롤러 파일로 잘라내기 합니다. 잘라낸 후에 기존의 문제점을 보완하면서 함수를 정리했습니다. import Use..
연결 수정 각 path마다 다른 모델의 쿼리를 실행하고자 모델을 새롭게 정의하겠습니다. 그렇기 때문에 기존 pool 말고 모델 생성하는 것을 목표로 코드를 수정했습니다. Sequelize config.json 파일을 작성하여 설정할 것을 저장해주었습니다. 위치는 루트 디렉터리 하위에 config 폴더를 만들어 저장했습니다. . │📄 기타 환경 파일들 ├── .env ├── package.json ├── package-lock.json ├── node_modules │ │💻메인 파일들 ├── app.js ├── config │ └── config.json ├── lib │ └── handler.js ├── models │ └── index.js ├── public │ ├── images │ │└── log..
📌 문제 도현이의 집 N개가 수직선 위에 있다. 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다. 도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사이의 거리를 가능한 크게 하여 설치하려고 한다. C개의 공유기를 N개의 집에 적당히 설치해서, 가장 인접한 두 공유기 사이의 거리를 최대로 하는 프로그램을 작성하시오. 📌 입력 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 ..