전체 글 527

01_[Greedy] 짐 나르기

문제 김코딩과 박해커는 사무실 이사를 위해 짐을 미리 싸 둔 뒤, 짐을 넣을 박스를 사왔다. 박스를 사오고 보니 각 이사짐의 무게는 들쭉날쭉한 반면, 박스는 너무 작아서 한번에 최대 2개의 짐 밖에 넣을 수 없었고 무게 제한도 있었다. 예를 들어, 짐의 무게가 [70kg, 50kg, 80kg, 50kg]이고 박스의 무게 제한이 100kg이라면 2번째 짐과 4번째 짐은 같이 넣을 수 있지만 1번째 짐과 3번째 짐의 무게의 합은 150kg이므로 박스의 무게 제한을 초과하여 같이 넣을 수 없다. 박스를 최대한 적게 사용하여 모든 짐을 옮기려고 합니다. 짐의 무게를 담은 배열 stuff와 박스의 무게 제한 limit가 매개변수로 주어질 때, 모든 짐을 옮기기 위해 필요한 박스 개수의 최소값을 return 하도록..

21~41

21_inequalityNumber 아래와 같은 과정을 거쳐 부등호 수(inequalityNumber)를 만들 수 있습니다. 최대 9개의 부등호()가 주어집니다. 부등호의 좌우에는 0부터 9사이의 숫자가 한 번씩만 들어가야 합니다. 부등호를 만족하는 숫자의 조합을 차례대로 이어 붙여 만든 정수를 부등호 수라고 한다. 부등호 기호들을 입력받아 부등호를 만족하는 최대 부등호 수와 최소 부등호 수의 차이를 리턴해야 합니다. 입출력 예시 let output = inequalityNumber(''); console.log(output); // --> 876 (897 - 021) output = inequalityNumber('> '); console.log(output); // 더보기 const inequa..

Automated Deployment

Achievement Goals 배포 자동화에 정의와 이점에 대해 설명할 수 있다. 한 번의 클릭 혹은 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것을 의미 이점 : 수동적이고 반복적인 배포 과정을 자동화함으로써 시간이 절약됩니다. 휴먼 에러를 방지할 수 있습니다. 휴먼 에러란 사람이 수동적으로 배포 과정을 진행하는 중에 생기는 실수를 뜻한다. 그전에 했던 배포 과정과 비교하여 특정 과정을 생략하거나 다르게 진행하여 오류가 발생하는 것이 휴먼 에러의 예시이다. 배포 파이프라인이 무엇인지 정의할 수 있다. 소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조를 뜻합니다. 파이프라인은 전체 배포 과정을 여러 단계(stage)로 구분합니다. 파이프라인을 구성하는 단계(Stages)와 작..

파이썬 타입 힌트

def func(a: int) -> int: b: int = 1 return a+b python 3.5버전에서는 함수의 반환값에 대 자료형만 지원 def greeting(name: str) -> str: return 'Hello' + name 3.6에서는 변수에도 타입 힌트표기 def greeting(name: str) -> str: s:str = 'Hello' + name return s 타입 힌트는 위에서 말했듯 3.5버전에서 나온 것이기 때문에 3.5 버전 이상을 사용해야 타입 힌트를 적용할 수 있다. 하지만 파이썬이 정적 타입을 지향하는 것은 아니다. 타입 힌트는 말 그대로 그냥 힌트일 뿐이다. 파이썬은 동적 타입을 지향하며, a에는 문자열을 넣어도 오류는 나지 않는다. a: int = "Hell..

빅오

빅오란 입력값이 무한대로 향할때 함수의 상한을 설명하는 수학적 표기 방법 빅오는 점근적 실행 시간을 표기할 때 가장 널리 쓰이는 수학적 표기법 중 하나이다. 점근적 실행(시간복잡도) : 입력값 n이 커질 때, 입력값이 무한대를 향할 때 리미트 함수의 실행 시간의 추이를 의미한다. O(1) 입력값이 아무리 커도 실행 시간은 일정 해시 테이블의 조합 및 삽입에 해당 O(log n) 입력값에 영향을 받지만 크지는 않다. 이진 검색이 해당 O(n) 실행 시간이 입력값에 비례한다. 최댓값, 최솟값을 찾는 경우 O(n log n) 병합 매핑 매핑 타입은 키와 자료형으로 구성된 복합 자료형이며 자료형 딕셔너리이다. 집합 파이썬의 집합 자료형인 set은 중복된 값을 가지 않는 자료형이다. a = set() a # se..

http status code

자주 사용되는 Status Code만 정리해 보았다. 100단위 : Information responses(요청을 받았으며 프로세스를 계속 진행합니다.) 1로 시작하는 경우 서버가 요청을 받았으며 서버에 연결된 클라이언트는 작업을 계속진행한다는 의미 합니다 해당 코드는 HTTP 1.0에서 지원되지 않습니다. 100단위: Information responses 요청을 받았으며 프로세스를 계속 진행합니다. 100 Continue 진행 중임을 의미하는 응답코드입니다. 현재까지의 진행상태에 문제가 없으며, 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 되는 것을 알려줍니다. 102 Processing(WebDAV) 이 응답 코드는 서버가 요청을 수신하였으며 이를 처리하고 있지만, 아직..

node.js path명령어

0. 모듈 추출 방법 const path = require('path'); 1. path.sep : "현 운영체제의 경로 구분자" 확인 - 맥 /, 윈도우 \ console.log('path.sep:', path.sep); // path.sep: / 2. path.dirname('파일경로.확장자') : "파일이 위치한 폴더경로" 확인 console.log(path.dirname(__filename)); // /Users/curryyou/dev/VS_Code_Projects/TestProject 3-1. path.basename('파일경로.확장자') : "파일명.확장자" 확인 console.log(path.basename(__filename)); // test.js 3-2. path.basename('파일..

백엔드/node.js 2021.12.03

npm명령어

노드를 끊임없이 변경될때마다 node를 실행해줌 npm i nodemon --save-dev "scripts": { "test": "echo \"Error: no test specified\" && exit 1" "start": "nodemon app" } //start를 작성해줘야함 npm에 설치된 리스트 확인 npm list 특정 라이브러리의 정보 npm view 패키지이름 컴퓨터 전체에 패키지 설치 npm i -g 패키지이름 현재 프로젝트에 설치된 패키지 정보 npm ll 업데이트가 필요한 아이들을 볼 수 있는 명령어 npm outdated

백엔드/npm 2021.12.03