일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- C++
- 지혜를가진흑곰
- 알고리즘 공부
- 책을알려주는남자
- 알고리즘트레이닝
- 자바
- 주식
- 독서
- 경제
- JavaScript
- algorithmStudy
- algorithmTest
- 성분
- Java
- 책알남
- 백준알고리즘
- algorithmtraining
- C
- 채권
- 독후감
- 재테크
- 다독
- 프로그래머스 알고리즘 공부
- 알고리즘공부
- 서평
- 화장품
- 프로그래밍언어
- 돈
- 투자
- 자바스크립트
- Today
- Total
목록분류 전체보기 (564)
탁월함은 어떻게 나오는가?
문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질때, 모든사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 soultion 함수를 작성해주세요. 제..
문제 설명 도넛 모양 그래프, 막대 모양 그래프, 8자 모양 그래프들이 있습니다. 이 그래프들은 1개의 이상의 정점과, 정점들을 연결하는 단방향 간선으로 이루어져 있습니다. * 크기가 n인 도넛 모양 그래프는 n개의 정점과 n개의 간선이 있습니다. 도넛 모양 그래프의 아무 한 정점에서 출발해 이용한 적 없는 간선을 계속 따라가면 n-1개의 정점들을 한 번씩 방문한 뒤 원래 출발했던 정점으로 돌아오게 됩니다. 도넛 모양 그래프의 형태는 다음과 같습니다. * 크기가 n인 막대 모양 그래프는 n개의 정점과 n-1개의 간선이 있습니다. 막대 모양 그래프는 임의의 한 정점에서 출발해 간선을 계속 따라가면 나머지 n-1개의 정점을 한 번씩 방문하게 되는 정점이 단 하나 존재합니다. 막대 모양 그래프의 형태는 다음과..
문제 설명세로길이가 n 가로길이가 m 인 격자 모양의 땅 속에서 석유가 발견되었습니다. 석유는 여러 덩어리로 나누어 묻혀있습니다. 당신이 시추관을 수직으로 단 하나만 뚫을 수 있을 때, 가장 많은 석유를 뽑을 수 있는 시추관의 위치를 찾으려고 합니다. 시추관은 열 하나를 관통하는 형태여야 하며, 열과 열 사이에 시추관을 뚫을 수 없습니다. 예를 들어 가로가 8, 세로가 5인 격자 모양의 땅 속에 위 그림처럼 석유가 발견되었다고 가정하겠습니다. 상, 하, 좌, 우로 연결된 석유는 하나의 덩어리이며, 석유 덩어리의 크기는 덩어리에 포함된 칸의 수입니다. 그림에서 석유 덩어리의 크기는 왼쪽부터 8, 7, 2 입니다. 시추관은 위 그림처럼 설치한 위치 아래로 끝까지 뻗어 나갑니다. 만약 시추관이 석유 덩어리의 ..
프로그래밍을 하다보면 log를 기록해야지 좋은 경우가 많다. 그렇기 때문에 나는 NestJS를 사용하는 프로젝트에서는 log를 Winston을 사용하여서 log를 남겨놓는다. 기존의 로그를 남기는 방식은 error.log / combined.log / query.log 에 계속적으로 남겨놓는 방식으로 처리를 하였다. 하지만, 로그를 좀 더 간편하게 찾아볼 필요가 있다고 생각이 들어서 연/월/일로 폴더가 생성되고 일자폴더에 규격에 맞게 저장되길 원해서 수정하게 되었다. 적용 코드: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 4..
스프링 부트의 파일 업로드와 관련된 설정은 1) 별도의 파일 업로드 라이브러리(commons- fileupload 등)를 이용하는 경우와 2) Servlet 3버전부터 추가된 자체적인 파일 업로드 라이브러리를 이용하는 방식으로 구분 할 수 있다. 별도의 파일 업로드 라이브러리는 WAS의 버전이 낮은 경우나 WAS가 아닌 환경에서 스프링 부트 프로젝트를 실행한다면 별도의 라이브러리를 사용하는 것이 좋다. 나의 경우에는 스프링 부트 자체에서 지원해주는 이미지 업로드 기능을 사용해보았다. 파일 업로드 위한 설정 1 2 3 4 5 6 7 8 9 10 server.port = 8080 spring.servlet.multipart.enabled=true spring.servlet.multipart.location=..
문제 설명 어떤 게임에는 붕대 감기 라는 기술이 있습니다. 붕대 감기는 t초 동안 붕대를 감으면서 1초마다 x만큼의 체력을 회복합니다. t초 연속으로 붕대를 감는 데 성공한다면 y만큼의 체력을 추가로 회복합니다. 게임 캐릭터에는 최대 체력이 존재해 현재 체력이 최대 체력보다 커지는 것은 불가능합니다. 기술을 쓰는 도중 몬스터에게 공격을 당하면 기술이 취소되고, 공격을 당하는 순간에는 체력을 회복할 수 없습니다. 몬스터에게 공격당해 기술이 취소당하거나 기술이 끝나면 그 즉시 붕대 감기를 다시 사용하며, 연속 성공 시간이 0으로 초기화됩니다. 몬스터의 공격을 받으면 정해진 피해량만큼 현재 체력이 줄어듭니다. 이때, 현재 체력이 0 이하가 되면 캐릭터가 죽으며 더 이상 체력을 회복할 수 없습니다. 당신은 붕대..
문제 설명 AI 엔지니어인 현식이는 데이터를 분석하는 작업을 진행하고 있습니다. 데이터는 ["코드 번호(code)", "제조일(date)", "최대 수량(maximum)", "현재 수량(remain)"]으로 구성되어 있으며 현식이는 이 데이터들 중 조건을 만족하는 데이터만 뽑아서 정렬하려 합니다. 예를 들어 다음과 같이 데이터가 주어진다면 이 데이터는 다음 표처럼 나타낼 수 있습니다. 주어진 데이터 중 "제조일이 20300501 이전인 물건들을 현재 수량이 적은 순서"로 정렬해야 한다면 조건에 맞게 가공된 데이터는 다음과 같습니다. 정렬한 데이터들이 담긴 이차원 정수 리스트 data 와 어떤 정보를 기준으로 데이터를 뽑아낼지를 의미하는 문자열 ext, 뽑아낼 정보의 기준값을 나타내는 정수 val_ext,..
문제 설명 각 칸마다 색이 칠해진 2차원 격자 보드판이 있습니다. 그중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 개수를 구하려고 합니다. 보드의 각 칸에 칠해진 색깔 이름이 담긴 이차원 문자열 리스트 board와 고른칸의 위치를 나타내는 두 정수 h, w가 주어질 때 board[h][w]와 이웃한 칸들 중 같은 색으로 칠해져 있는 칸의 개수를 return 하도록 solution 함수를 완성해 주세요. 이웃한 칸들 중 몇 개의 칸이 같은 색으로 색칠되어 있는지 확인하는 과정은 다음과 같습니다. 1. 정수를 저장할 변수 n을 만들고 board의 길이를 저장합니다. 2. 같은 색으로 색칠된 칸의 개수를 저장할 변수 count를 만들고 0을 저장합니다. 3. h와 w의 변..