-
Google Code Jam 2020 Qualification Round - Indicium
올해 퀄 라운드의 마지막 문제는 라틴 스퀘어를 만드는 문제였다. 라틴 스퀘어를 만드는 것 자체는 어렵지 않은 문제이지만, 이번에는 주 대각선의 합(trace)이 특정한 값이 되어야 한다는 조건이 있어서 상당히 어려웠다.
-
C / C++ 메모리 디버깅
C나 C++로 프로그램을 작성할 경우, 아무리 신경을 써도 메모리 접근에서 예상치 못한 버그가 발생하고는 한다. 해제한 메모리를 다시 이용하거나(use after free), 할당한 공간을 넘어서 접근한다거나(heap / stack overflow).. 그렇다고 메모리 해제를 소극적으로 하다가는 해제되지 않고 메모리 누수가 일어나서 또 다른 문제를 일으킨다. 물론 이를 해결하기 위한 방법으로 가장 추천하는 것은 Rust처럼 안전한 언어를 이용하는 것이지만, 어쩔 수 없이 C / C++을 이용해야 하는 경우, 디버깅에 도움을 주는 도구를 적극적으로 이용하면 비교적 안전한 코드를 작성할 수 있다.
-
Google Code Jam 2019 Round 1C
-
Google Code Jam 2019 Round 1B
-
Google Kick Start 2019 Round B
오늘 오전에는 Kick Start Round B가 있었다. 난이도는 Round A처럼 역시 어려웠다(ㅠㅠ). 다만 각 문제가 다이나믹 프로그래밍, 그리디, 그리고 라인 스위핑 등 기본적인 알고리즘의 의미를 충실하게 고민하면 풀 수 있는 구성으로, PS를 다시 연습하기에 훌륭한 대회였다.