본문 바로가기

전체 글657

[Typescript] 개발 환경 만들기 typescript -> javascript 컴파일 해서 결과 확인하는 용도의 개발환경 만들기 $ npm install -g typescript typescript 먼저 설치. - test.ts - tsconfig.json 파일은 위에 2개만 만들었다. // tsconfig.json { "compilerOptions": { "outDir": "./out/", "target": "es6", "strictNullChecks": true } } tsconfig는 위와 같이 적어두었다. typescipt의 컴파일 옵션만 간단하게 설정했는데 outDir 은 컴파일 결과(.js 파일들)를 어느 폴더에 저장할지에 대한 설정이다. target 에는 컴파일 한 javascript의 버전을 명시한다. strictNullC.. 2019. 7. 24.
[Typescript] 얕은 복사 // test.ts const srcMember = { name: "member" }; const destMember = srcMember; destMember.name = "change"; console.log(`srcMember : ${srcMember.name}`); console.log(`destMember : ${destMember.name}`); ts 파일 작성 srcMember라는 객체를 하나 만들고 destMember에 srcMember를 복사한뒤(=) destMember의 name만 변경 $ tsc test.ts 컴파일 // test.js const srcMember = { name: "member" }; const destMember = srcMember; destMember.name .. 2019. 7. 24.
[Typescript] openAPI 문서 모델을 typescript interface로 전환하기 1. openAPI Generator Install brew install openapi-generator Generate 변환 가능한 리스트 이 중 typescript-axios로 해보자. openapi-generator generate -i -g typescript-axios -o 변환 명령어는 위와 같다. openapi-generator generate -i swaggerPetstore.yml -g typescript-axios -o ./openApi-Generator 위 명령어로 현재 폴더에 있는 swaggerPetstore.yml(swagger editor에서 예시로 주는 yml을 따로 파일로 저장한 것) 이라는 이름을 가진 openAPI yml 파일을 openApi-Generator 폴더에 t.. 2019. 7. 20.
[algospot][STRJOIN] 문자열 합치기 문제 : https://algospot.com/judge/problem/read/STRJOIN 그리디로 풀었다. 문자열의 길이가 가장 짧은 것 2개 부터 차례로 합쳐나간다. 최소 힙에 문자열들을 넣고 top에 있는 것 2개를 꺼내서 두 문자열의 길이의 합을 정답에 더해나간다. 최소 힙에 있는 문자열이 1개 남을 때까지 이를 반복한다. 최소 힙에서 특정 원소를 추가하는 작업은 O(logN)이므로 총 시간복잡도는 O(NlogN)이 된다. 소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/algospot/STRJOIN.cpp fpdjsns/Algorithm 알고리즘 정리. Contribute to fpdjsns/Algorithm development by cr.. 2019. 7. 13.
[algospot][LUNCHBOX] Microwaving Lunch Boxes 문제 : https://algospot.com/judge/problem/read/LUNCHBOX 그리디하면 나오는 단골 문제. 전자레인지에 돌리는 행동은 선형적이지만 먹는 것은 병렬적으로 처리할 수 있다. 따라서 시간을 효율적으로 사용하려면 중요한 건 먹는 시간이다. 병렬적으로 처리된다고 했을 때 가장 먼저 시작되어야 하는 것은 시간이 가장 오래 걸리는 것이다. 따라서 도시락을 먹는 시간의 내림차순으로 정렬하고 이 때 모든 도시락을 데우고 먹는 데 걸리는 시간(1)을 구하면 이 결과가 정답이 된다. (1)을 구하는 방법은 도시락을 정렬한 뒤 앞에서부터 탐색하면서 데우는 시간과 먹는 시간을 누적해간다. 데우는 시간은 선형적이므로 각 도시락의 데우는 시간의 합이다. 누적된 먹는 시간은 도시락을 데울 때 그 .. 2019. 7. 13.
[algospot][MATCHORDER] 출전 순서 정하기 문제 : https://algospot.com/judge/problem/read/MATCHORDER 그리디로 풀었다. 한국팀이 지는 경우는 무시하고 이기는 경우만 고려해보자. 한국이 이길 수 있을 때 최대 효율은 가장 적은 레이팅을 가진 선수로 이기는 경우이다. 따라서 먼저 선수들의 레이팅을 오름차순 정렬했다. 그리고 러시아팀의 레이팅을 앞에서부터 탐색한다. 한국팀 선수의 인덱스 변수(korInd)를 하나 두고 이를 0으로 초기화한다.(한국팀의 레이팅도 앞에서부터 탐색.) 탐색 중인 러시아팀의 레이팅보다 같거나 큰 한국팀 레이팅이 나올 때까지 korInd를 증가시킨다. 찾는 경우 정답 + 1을 하고 korInd는 이미 특정 러시안 선수와 매칭 되었으므로 더이상 사용하지 못한다. 따라서 korInd도 +1.. 2019. 7. 13.