프로젝트 오일러 18
삼각형을 따라 내려가면서 합이 최대가 되는 경로 찾기
문제를 언듯 보면 합이 최대가 되는 경로를 찾아야 할 것 같지만, 명시적으로 경로를 구하지 않더라도 경로의 합이 최대가 되는 값을 찾을 수 있다.
내 이 세상 도처에서 쉴 곳을 찾아보았으나, 마침내 찾아낸, 컴퓨터가 있는 구석방보다 나은 곳은 없더라.
삼각형을 따라 내려가면서 합이 최대가 되는 경로 찾기
문제를 언듯 보면 합이 최대가 되는 경로를 찾아야 할 것 같지만, 명시적으로 경로를 구하지 않더라도 경로의 합이 최대가 되는 값을 찾을 수 있다.
과유불급(過猶不及)
정도를 지나침은 미치지 못함과 같다
- 논어(論語) 선진편(先進篇)
방문자가 매우 많은 사이트에서 애플리케이션을 배포하는 작업은 부담이 크다. 다행히 애플리케이션 서버를 여러 대 두기 때문에 서버 한 대가 잘못되더라도 사이트 전면 장애가 발생하지는 않는다. 새로운 코드를 배포할 때는 항상 서버 한 대에 먼저 배포해 놓고 일정 시간 동안 모니터링 한다. 문제가 없는 경우에는 전체 서버로 배포하고, 로그에 예외나 에러가 표시되면 즉시 롤백한다.
서버에서 로그 파일을 모니터링 할 때 보통 tail -f를 사용한다. 그런데 최근 더 좋은 방법을 알게 되었다. 바로 less +F를 사용하는 것이다. tail -f를 사용할 때 파일에서 어떤 내용을 찾고 싶을 때는 흔히 다음 두 방법을 사용한다.
1부터 1000까지 영어로 썼을 때 사용된 글자의 개수는?
별로 어려운 문제는 아니다. 다음과 같은 절차로 풀 수 있다.
즉 주어진 숫자를 문자열로 바꾸는 함수를 구현하면 문제를 간단히 풀 수 있다.
블로그를 정적 사이트 생성기로 만들어 GitHub에 처음 올렸을 때가 생각난다. 그전에 사용했던 티스토리나 블로거에서는 글을 올리고 별다른 작업을 하지 않아도 일정 시간이 지난 후 구글에서 검색이 되었다. 그래서 GitHub 페이지로 블로그를 옮긴 다음에도 언제쯤 구글에서 검색이 될까 마냥 기다렸다.
의 각 자릿수를 모두 더하면?
은 300자리가 넘는 매우 큰 수다. int, long과 같은 기본 데이터 타입에는 이렇게 큰 수를 담을 수 없다. double은 이상의 매우 큰 수를 표현할 수 있지만 유효자릿수가 15~17자리여서 의 모든 자릿수를 담을 수 없다.
언젠가 동료 한 명이 'statement와 expression의 차이가 뭔지 아냐?'고 물어본 적이 있다. 프로그래밍 책에서 자주 접했던 용어지만 명확히 답할 수 없었다. statement는 명령문이고 expression은 표현식인데...
20×20 격자의 좌상단에서 우하단으로 가는 경로의 수?

격자에서 오른쪽으로 이동하는 경로를 r(right), 아래쪽으로 이동하는 경로를 d(down)라 하면 2x2 격자의 좌상단에서 우하단으로 가는 경로는 다음과 같은 식으로 표현할 수 있다.
백만 이하로 시작하는 우박수 중 가장 긴 과정을 거치는 것은?
주어진 양의 정수 n에 대한 우박수열을 구하는 함수를 만든 다음, 1백만까지 우박수열을 구하면서 수열의 길이가 가장 길어지는 n을 구하면 된다. 우박수열을 구하는 함수는 다음과 같이 간단히 작성할 수 있다.
hexo-math 플러그인에서 사용해 수식을 표현하는데, 예전에는 {% raw %}{% math-block %} ... {% endmath-block %}{% endraw %}로 수식 블록을 표시했지만 Hexo 3.0에서는 이 부분이 깨졌다. 결국 {% raw %}{% math_block %} ... {% endmath_block %}{% endraw %}를 사용하도록 hexo-math가 수정되었다. 이에 따라 블로그의 모든 글에서 math-block을 사용하는 부분을 찾아 math_block으로 바꿔줘야 했다. Emacs를 사용하면서 버퍼 안에서 찾기/바꾸기는 많이 해봐 익숙했지만 여러 파일에 대해 찾기/바꾸기를 해본 적은 없었다.