코딩 시간과 코드 품질

MS 워드에 자동고침(AutoCorrect)이란 기능이 있다. 입력한 단어가 특정 문자열과 일치하면 미리 정의한 대체 문자열로 바꿔주는 기능이다. 예전에, 그러니까 JDK 버전이 1.2, 1.3이었던 시절, Java로 오피스를 만드는 회사에서 일했다. 회사에서 처음 맡은 일 중 하나가 자동고침 모듈을 만드는 일이었다. 정확히 말하면, 새로 만드는 것은 아니었고 전임자가 만든 모듈을 인계받아 버그를 수정하고 기능을 추가하는 일이었다.

Read More...

프로젝트 오일러 86

육면체의 한쪽 구석에서 다른 구석으로 가는 최단 경로 찾기
문제 자세히 보기: [국어] [영어]

직육면체를 펼쳐 평면으로 생각하면 문제를 푸는 데 도움이 된다. 평면 위의 한 점에서 다른 점으로 가는 최단 경로는 직선이다. 한쪽 구석 $S$에서 다른 구석 $F$로 가는 경로는 네 가지가 있다.

Read More...

프로젝트 오일러 85

사각 격자 안에 포함된 사각형 개수 세기
문제 자세히 보기: [국어] [영어]

가로 $m$ 세로 $n$인 격자에서 각 크기의 사각형이 몇 개씩 들어가는지 생각해보자. 크기(가로$\times$세로)가 $1 \times 1$인 사각형은 생각할 것도 없이 $m \times n$개가 들어간다. 크기가 $1 \times 2$인 사각형은 가로 방향으로는 $m$개, 세로 방향으로는 $n-1$개가 들어갈 수 있으므로 개수는 $m \times (n-1)$이 될 것이다.

Read More...

프로젝트 오일러 84

모노폴리 게임을 4면체 주사위로 할 때 가장 많이 방문하는 칸은?
문제 자세히 보기: [국어] [영어]

이 문제를 수학적으로 푸는 방법이 있는지 모르겠다. 여기서는 문제에 주어진 게임 규칙을 모두 구현한 후, 직접 사면체 주사위를 1백만 번 던져 어느 칸을 가장 많이 방문했는지 세는 방법으로 문제를 풀었다.

Read More...

프로젝트 오일러 83

상하좌우로 움직여서 좌상단→우하단으로 가는 경로의 합이 최소인 경우는?
문제 자세히 보기: [국어] [영어]

이 문제에는 두 가지 복병이 기다리고 있었다. 하나는 A* Search Algorithm 알고리즘이었다. 여러 가지 방법을 생각해 보았지만 A* 알고리즘을 사용하지 않고는 풀 수 없었다. 구글로 검색해보면 A* 알고리즘에 대한 설명을 찾을 수 있지만 이해하기가 쉽지 않았다. 얼마 전 Couresra에서 Algorithms, Part I을 수강한 후에야 A* 알고리즘을 이해할 수 있었다.

Read More...

프로젝트 오일러 82

맨 왼쪽 열에서 맨 오른쪽 열까지 가는 경로의 합이 최소인 경우는?
문제 자세히 보기: [국어] [영어]

시작 위치와 종료 위치가 고정되어 있지 않다. 맨 왼쪽 열의 아무 곳에서 시작해 맨 오른쪽 열의 아무 곳에나 도착하기만 하면 된다. 위/아래/오른쪽 세 방향으로 이동할 수 있다. 왼쪽으로는 이동할 수 없다.

Read More...

프로젝트 오일러 81

오른쪽과 아래로만 움직이면서 좌상단→우하단으로 가는 경로의 합이 최소인 경우는?
문제 자세히 보기: [국어] [영어]

이 문제는 앞에서 풀었던 문제 18과 매우 비슷하다. 행렬을 시계 방향으로 45° 돌려놓고 생각하면 편하다. 문제 18에서는 삼각형 바닥부터 위로 올라가면서 계산하면 됐다. 여기서는 삼각형뿐 아니라 역삼각형도 고려해야 한다는 차이가 있을 뿐이다.

Read More...

Sandbox의 뜻

프로그래밍 또는 보안 관련 책을 읽다 보면 종종 ‘모래상자’란 용어가 나온다. ‘sandbox’를 ‘모래상자’로 번역한 것이다. ‘모래상자’란 단어를 보면 어떤 그림이 떠오르는가? ‘sandbox’를 직역하면 ‘모래상자’가 맞긴 하지만, 나는 이렇게 번역하는 게 마음에 들지 않는다.

Read More...

출퇴근 시간

출퇴근 시간이 적을 수록 좋다고 생각했다. 회사와 집이 멀리 떨어져 있으면 출퇴근에 많은 에너지를 쓰게 된다. 몸도 힘들고 시간도 아깝다. 1시간이 넘으면 계속 다니기가 힘들게 느껴졌다. 그래서 가급적 회사 근처에 집을 얻곤 했다.

Read More...

영국에서의 1년

개요

가족과 함께 외국에 와서 적응하는 것은 생각했던 것보다 어려웠다. 내 한 몸 챙기기도 버거운데 가족 일까지 신경을 써야 하니 힘에 부칠 수밖에 없다. 한국에서 회사를 옮긴 경우에는 새 회사에 적응하는 데 집중할 수 있었지만, 가족과 함께 외국으로 나온 경우에는 다른 식구들도 새로운 환경에 적응할 수 있도록 도와야 한다. 나만 적응한다고 되는 게 아니다.

Read More...