본문 바로가기

분류 전체보기

(239)
[Swagger] Node.js에 Swagger 적용하기 (2) - OpenApI openapi.yaml 파일 뜯어보기 앞서 [Swagger] Node.js에 Swagger 적용하기(1) 에서 기본 설정을 해주는 openapi.yaml 파일을 자세하게 보려고 한다! 자세한 공식 문서는 이 링크에 openapi OpenAPI 사양의 버전을 명시해준다. 현재 코드에서는 OpenAPI 3.0.0을 사용한다. openapi: 3.0.0 info API 정보가 들어있다. version : API의 버전 title : API 이름 description : API에 대한 설명(확장 정보) license : API의 라이센스 정보 info: version: 1.0.0 title: Wooly API Docs description: Wooly API 문서입니다 license: name: MIT Serv..
[Swagger] Node.js에 Swagger 적용하기 (1) 시작하기 이전 프로젝트에서 주로 API 명세서는 Git Wiki 또는 엑셀 파일을 사용했다. 최근에 Swagger라는 프로그램이 많이 사용되고, 주변 개발자 친구들도 많이 사용하여 흥미가 생겼다. 현재 진행 중인 솝텀프로젝트에 이를 적용해보기로 했다! 프로젝트는 Node.js, express를 사용하고, TypeScript를 적용하려고 한다. express 프로젝트에 몇몇 API를 구현한 상태고, 여기에 Swagger를 적용할 것이다. 0. Install 먼저, swagger를 사용하기 위한 패키지들을 설치해준다. npm install swagger-ui-express yamljs swagger-ui-express 작성해둔 API 명세를 UI로 보여준다. yamljs yaml 파일을 읽어오기 위해 사용 ..
[Programmers] 가운데 글자 가져오기 👀 문제 설명 문제 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" ✍🏻풀이 string의 size를 이용해서 단어의 길이가 홀수이면 중간값 하나만 가져오고, 짝수이면 (s.size() - 1) / 2의 위치에 있는 값과 그 오른쪽에 있는 값을 가져오도록 했다. 다른 풀이는 훨씬 간단하다. string의 length를 이용하여 length가 2로 나누어 떨어지면 단어의 길이가 짝수라는 뜻이고, 아닐 경우 홀수라는 뜻이다. 각각의 경우에서 string의 substr함수를 사용해 특정 부분을 잘라왔다..
[Programmers] 두 개 뽑아서 더하기 👀 문제 설명 문제 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbers result [2, 1, 3, 4, 1] [2, 3, 4, 5, 6, 7] [5, 0, 2, 7] [2, 5, 7, 9, 12] ✍🏻풀이 이중 for문을 사용한다. i는 0~numbers.size() - 2까지 접근, j는 i + 1 ~ numbers.size() - 1까지 접근한다. 두 값을 더한 값을 sum에 저장하고, answe..
[Programmers] 구명보트 👀 문제 설명 문제 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작..
마스크 재활용 코로나로 인해 버려지는 마스크들을 재활용해서 의자로 만드는 사람 https://youtu.be/j4CZ4vIDwKE
[Baekjoon] 행렬 👀 문제 설명 문제 0과 1로만 이루어진 행렬 A와 행렬 B가 있다. 이때, 행렬 A를 행렬 B로 바꾸는데 필요한 연산의 횟수의 최솟값을 구하는 프로그램을 작성하시오. 행렬을 변환하는 연산은 어떤 3*3크기의 부분 행렬에 있는 모든 원소를 뒤집는 것이다. (0 -> 1, 1 -> 0) 입력 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. 출력 첫째 줄에 문제의 정답을 출력한다. 만약 A를 B로 바꿀 수 없다면 -1을 출력한다. 예제 입력 1 3 4 0000 0010 0000 1001 1011 1001 예제 출력 1 2 ✍🏻풀이 (0, 0)부터 (N - 3, M - 3)..
[Baekjoon] 빗물 👀 문제 설명 문제 2차원 세계에 블록이 쌓여있다. 비가 오면 블록 사이에 빗물이 고인다. 비는 충분히 많이 온다. 고이는 빗물의 총량은 얼마일까? 입력 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치부터 차례대로 W개 주어진다. 따라서 블록 내부의 빈 공간이 생길 수 없다. 또 2차원 세계의 바닥은 항상 막혀있다고 가정하여도 좋다. 출력 2차원 세계에서는 한 칸의 용량은 1이다. 고이는 빗물의 총량을 출력하여라. 빗물이 전혀 고이지 않을 경우 0을 출력하여라. 예제 입력 1 4 4 3 0 1 4 예제 출력 1 5 예제 입력 2 4 8 3 ..