취미생활
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kxMtY/btszYHElRLA/GFEnmkJxrv98pBeqJkkdWk/img.png)
https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net #include #include using namespace std; int N, M; int arr[500][500] = {0}; bool was_thr[500][500] = {false}; int dfs(int x, int y, int val, int cnt) { enum dir {R, L, D, U, NOD}; int result = 0; constexpr int d_x[4] = {0, 0,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b8Ly4F/btsywuGp5VT/6tFx8b0sUPkeT79wS2daZK/img.png)
사용 환경 Raspberry pi 4 (ARMv8 X64) 운영체제 라즈비 라이브러리 버전 Youtube-dl (2021.06.06) raspberry pi로 youtube mp3 download 기능이 필요할 경우 apt 를 통해 youtube-dl 을 다운로드 하는 편인데 해당 방법으로 다운로드 시 오래된 버전을 다운로드 받아 문제가 생긴다. github issue 로 등록되어 있는 내용으로는 youtube 메타데이터가 변경되었는데 apt에 등록된 파일은 이전 버전이라서 다운로드가 안되는 것이다. 해결책 github로 배포되는 최신 파일으로 업데이트 하면 정상 동작한다. sudo wget https://github.com/ytdl-org/ytdl-nightly/releases/download/2023..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/G3wpZ/btsshnHkvZo/UaCxBgb8lyL9jIWx8BqIp1/img.png)
TCP/IP 통신으로 데이터 패킷을 주고 받으면 8bit 데이터 배열을 특정 자료형으로 변경해야 하는 일이 생긴다. 이러한 경우 union(공용체) 으로 쉽게 형변환하여 데이터를 볼 수 있다. #include #include union packet // union 선언 { int t_int; char t_char[4]; float t_float; }; void tcp_something(packet* target){ const int val = 143; const int max = sizeof(packet); snprintf(target->t_char, sizeof(target), "123"); // 데이터 입력 지점 } int main() { packet s; tcp_something(&s); print..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/thOxs/btsjmuBEu9t/hkVMofHKw49DgWGcYey8n1/img.png)
최근 코딩테스트를 본 회사에서 참 재밌는 경험을 했다. 코딩테스트를 C로 본 건데 대부분의 자료구조가 구현된 C++ 를 쓸 때와는 달리 자료구조를 내가 구현해야 했기 때문에 조금 귀찮았다. 그렇게 어려운 구현이 필효하진 않았고 Queue 구현 정도? 그러면서 Queue 구현을 C로 해봤는데 생각보다 너무 간단하게 나와서 적어둔다. #include int main(int argc, char **argv){ int q[100] = {0,}; int bot = 0; int top = 0; //insert q[bot] = 1; bot += 1; //exception check if(bot >= 100) bot = 0; //pop if(bot == top){ printf("empty!\n"); } else{ pr..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ckcY5V/btshz194gMm/BPMVRejvhP6KYbunkbgK61/img.png)
마법사 상어와 비바라기 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 (추가 시간 없음) 1024 MB 11382 5883 4009 50.019% 문제 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기를 크기가 N×N인 격자에서 연습하려고 한다. 격자의 각 칸에는 바구니가 하나 있고, 바구니는 칸 전체를 차지한다. 바구니에 저장할 수 있는 물의 양에는 제한이 없다. (r, c)는 격자의 r행 c열에 있는 바구니를 의미하고, A[r][c]는 (r, c)에 있는 바구니에 저장되어 있는 물의 양을 의미한다. 격자의 가장 왼쪽 윗 칸은 (1, 1)이고, 가장 오른쪽..
기술 면접을 다녀오면서 큰 깨달음을 얻고왔다. 기존에 나는 효율적인 코드를 위해 디자인 패턴을 따로 공부하고 있었다. 주로 내가 개발 중인 제품이 어떤 디자인으로 구성되어 있는지에 대해 생각해보거나 내 개인 프로젝트에 도입 해보는 방식으로 공부를 해왔는데 대부분은 책을 읽고 따라해보는 식으로 공부를 했다. 열심히 공부한 보람이 있는 건지 마침 기술 면접에서 디자인 패턴에 대해 어떻게 생각하는 지, 어떤 패턴을 써봤는 지 질문을 받았고 나름 잘 정리해서 답변했다. 그리고 내 공부관을 뒤바꾼 운명의 답변을 들었다. "디자인 패턴을 쓰는 게 맞는 거 같나요? 아니면 안쓰는게 맞는 거 같나요?" 질문을 처음 받았을 때 디자인 패턴에 치중한 나머지 효율적이지 못하게 된 코드들이 생각났다. 오남용 되는 싱글톤 같이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/balQ5M/btr8gXm5X46/wAQUEGno006h70iELF7iy0/img.gif)
https://github.com/DJmong/Data-Structure/tree/master/doubleLinkedList 코드 전문 #include #include #include #include #define TRUE 1 #define FALSE 0 //#define _DEBUG_ typedef struct data{ char szName[128]; int iValue; struct data *prev; struct data *next; }DATA; DATA* nextList(const DATA *node); void addList(DATA *node); void delList(DATA **node); DATA *prevList(const DATA *node); void insertData(DATA..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/p7BlX/btr7NQpMXML/7KCIFJFsBa4RMpWPltz5s1/img.gif)
아래는 깃허브 주소 GitHub - DJmong/frozenTableView: I made a frozen Column Table I made a frozen Column Table. Contribute to DJmong/frozenTableView development by creating an account on GitHub. github.com 작년에 프로젝트 투입되면서 틀 고정 기능이 필요해서 구현할 일이 있었는데, 그때 구현해뒀다가 성능 이슈 때문에 사용하지 못한 코드다. 당시에는 QTreeWidget을 사용하면서 각 셀마다 paintEvent를 override한 QObject를 올려두어서 그런지 해당 기능을 사용했을 때 굉장히 느려지는 현상이 발생했다. 다행히 다른 방식으로 해결했지만, 그때 ..