본문 바로가기

전체 글

(78)
Error 해결: boost::shared_ptr<boost::asio::io_context>::operator* boost thread를 활용하여 io_context_pool을 만들어서 사용하던 중.. core가 났다 이젠 놀랍지도 않은.. 참고한 ThreadPool 예시는 아래에 첨부 링크로 올려두겠다 CMD> ./process ... /usr/include/boost/smart_ptr/shared_ptr.hpp:728: typename boost::detail::sp_derr::operator*() const [with T = boost::asio::io_context; typename boost::deta_context&]: Assertion `px != 0' failed. Aborted (core dumped) 그러다 비슷한 에러를 가진 stack overflow 글을 보았는데 내용은 이러했다 일단 원인은,..
Visual Studio Code 단축키 기본 편집 키 명령 ctrl+X 행 삭제 (빈 선택) ctrl+C 행 복사 (빈 선택) ctrl+shift+k 행 삭제 ctrl+Enter 아래에 행 삽입 ctrl+shift+Enter 위에 행 삽입 alt+Down 행을 아래로 이동 alt+Up 행을 위로 이동 shift+alt+Down 위에 행 복사 추가 shift+alt+Up 아래에 행 복사 추가 ctrl+d 다음 선택 찾기 ctrl+k ctrl+d 마지막 선택 항목을 다음 찾기 항목으로 이동 ctrl+u 마지막 커서 작업 실행 취소 shift+alt+i 선택한 각 줄 끝의 커서 삽입 ctrl+shift+l 현재 선택 항목을 모두 선택 ctrl+f2 현재 단어의 모든 항목 선택 ctrl+i 현재 행 선택 ctrl+alt+Down 커서를 아래에 추가 ..
Onvif Event Handling Onvif Event Handling은 두 가지 방식이 있다 첫 번째) Real-time Pull-Point Notification Interface 두번째) Notification Streaming Interface 세번째) Basic Notification Interface 처음 공부할 때 읽고 지금 다시보니 놓친 부분이 많이 보여서, 늦은 정리를 하려고 한다 규격은 Onvif Core와 WS-BaseNofitication, WS-Topics를 참고하였다 규격을 해석하며 정리한거라 개인 생각이 많이 들어가있음을 유의하길 바란다. 1. Event Handling이란 규격 내용을 최대한 인용하면서 정리하려고 한다. Onvif Core 규격의 4절에 잠깐, 9절에 본격적으로 설명 되어있다 Event Han..
프로그래머스 - 탐욕법(Greedy)/체육복/C++ 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를..
프로그래머스 - 완전탐색/모의고사/C++ 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..
프로그래머스 - 정렬/k번째수/C++ 문제 설명배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.2에서 나온 배열의 3번째 숫자는 5입니다.배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항array의 길이는 1 이상 100 이하입니다.array의 각 ..
프로그래머스 - 힙/더맵게/C++ 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scovil..
프로그래머스 - 스택/큐/기능개발/C++ 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다.또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다.먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요.  제한 사항작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다.작업 진도는 100 미만의 자연수입니다.작업 속도는 100 이하의 자연수입니..