본문 바로가기

SMALL

분류 전체보기

(54)
프로그램 실행 중 - Stack overflow Dead( 0xC00000FD ) 발생 원인 프로그램을 실행 중에 가끔 아래와 같은 에러로 인해 프로그램이 Dead 되는 경우가 있다. 아래 케이스 같은 경우에 문제가 발생하게 된 원인은 Stack Overflow 말 그대로 Stack 영역의 범위기 지정된 범위를 넘어섰기 때문이다. 즉 Stack 공간이 부족하게 되어서 발생한 문제이다. 해결 방법 이와 같은 문제가 실행 중에 발생하게 되는 원인은 우리가 프로그램을 실행 중에 호출되는 함수 스택 및 함수 내에서 할당되는 변수등이 Stack에 저장이 된다. 그때 어떤 함수를 실행하는 시점에 프로그램에서 할당한 Stack 영역보다 더 많은 메모리가 필요하게 되면서 발생하는 문제이다. 이와 같은 경우 문제를 해결할 수 있는 방법은 2가지이다. 불필요한 함수 호출 및 변수를 정리한다. 내가 구현..
백준 2798번 - 블랙 C++ https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 오늘은 과거에 풀었던 경험이 있는 블랙잭 문제를 공유하고자 한다. 아래사진은 문제를 캡처 후 문제를 풀기 위해 중요하다고 생각하는 키워드 및 문장을 따로 하이라이트 하였다. 아래 문구를 보고 우리는 완전 탐색 문제(Brute Force)라는 것을 알아야 한다. 또한, 100,000을 넘지 않는다는 문구를 통해 Data Type은 Int 형이면 되겠다 까지만 파악하면..
Serialization Deserialization Lib - C++ 직렬화 역직렬화란? 오늘은 데이터를 서로 주고받을 때 필요한 기능 중 하나인 Serialization(직렬화)와 Deserialization(역직렬화)에 관하여 포스팅을 해보고자 합니다. 직렬화란 쉽게 말하면 객체를 저장, 전송할 수 있는 특정 포맷상태로 바꾸는 것입니다. 이렇게 말하면 쉽게 말한 게 맞아?라고 말 할 수 있을 것 같습니다. 아래 그림을 보면 구조체 A를 Program B에게 전달을 하기 위해서 ByteData로 변환이 필요합니다. 여기서 많이 쓰시는 방법들이 char* pBuffer에다가 memcpy를 하여 많이들 사용하십니다. ( ※ 오늘 공유할 라이브러리는 memcpy를 사용하지 않고 보내는 방법입니다. ) 여기서 char* pBuffer로 만드는 과정을 Serialization이라..
백준 2146번 - 다리 만들기 C++ 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다 www.acmicpc.net 나의 첫 알고리즘 Tistory 포스팅은 백준 2146번이다. 아래에 문제를 캡처해 두었다. 해당 포스팅을 보는 사람들은 단순 답만 궁금해서 들어올 수도 있지만 나는 내가 생각했던 방법들을 정리하고 무엇이 문제였는지까지 정리를 할 예정이다. 만약 답만 단순하게 궁금한 경우에는 가장 마지막 아이디어의 코드를 보면 될 것으로 예상을 한다. 이해한 문제 내용은 다음과 같다. 두 대륙(점수가 0)을 잇는 가장 짧은 다리를 찾아야 한다. 다만 이 다리는 대각선으로는 이동할 수..
후회는 왜 할까? 사람은 살면서 한 번쯤은 후회라는 걸 한다. 그러면 후회라는 건 왜 하게 되는 것일까? 라는 관점에서 나의 개인적인 생각은 과거를 회상하는 그 현재의 나 자신이 마음에 들지 않기 때문이라고 생각한다. 지금, 이 순간이 너무 행복한데 과거를 되돌아보면 추억이고, 지금, 이 순간이 너무 고통스러운데 과거를 되돌아보면 내가 잘못한 선택이었다고 생각을 많이 하기 때문이다. 즉, 후회하지 않기 위해서는 하루하루 내가 만족하는 삶을 살아가는 것이 가장 중요하다고 생각한다. 요즘 나는 살면서 가장 힘든 시기를 보내고 있는 것 같다. 하지만, Tistory를 시작한 것과 같이 조금씩 자존감을 올리기 위한 사소한 것들을 만들어 나갈 것이다.
C++ 개발자의 Tistory 시작 이야기 C++ 개발자로 현업에서 종사한 지 약 5년이 되었습니다. 5년을 되돌아보았을 때 제가 이때까지 쌓아온 결과물들은 다 회사에서 출시하는 제품들로 나오게 됩니다. 즉, 제가 만들었다고 말을 할 수 있으나 증명을 할 수 없는 부분들이 아쉬웠습니다. 그래서 현업에서 제가 느꼈던 문제점들을 해결하는 방법 그리고 제가 사고하는 방식에 관해서 같이 공유하면 어떨까 라는 생각에 Tistory를 시작하게 되었습니다. Tistory를 시작하게 된 가장 큰 계기는 제가 개발 관련 내용을 검색하면 Tistory에서 작성한 글들이 많이 보였기 때문입니다. 제가 Tistory에서 주로 쓸 내용들은 알고리즘 문제 풀이 및 자체적으로 개발하여서 쓰는 library 그리고 가장 중요한 개발 하면서 겪었던 각종 Dead 내용 및 그 ..

LIST