소득신고

일을 미루는 것은 내 오랜 습관이다. 이번 소득신고 사건 역시 내 오랜 습관의 연장선에 있다. 영국의 과세연도는 매년 4월 6일부터 그 다음해 4월 5일까지다. 온라인 소득신고 마감일은 해당 과세 연도의 다음해 1월 말이다. 종합소득세 신고를 5월 한 달 동안 마쳐야 하는 한국에 비하면 신고 기간이 상당히 여유있게 주어졌다 할 수 있다.

Read More...

프로젝트 오일러 92

자릿수를 제곱해서 더해가는 수열의 신기한 성질
문제 자세히 보기: [국어] [영어]

무차별 대입법

일단 무식한 방법으로 풀어보자. 1부터 1천만까지 숫자를 대입하면서 자릿수를 제곱해 더한 수가 89에 도달하는지 확인하는 방법이다. 자릿수를 제곱해 더한 수를 구하는 함수는 다음과 같이 간단히 작성할 수 있다.

Read More...

영어 선생님

영국에 와 팀에 합류했을 때 영어로 의사소통하는 것에 어려움을 느꼈다. 특히 영국 사람들이 하는 말을 알아 듣기 힘들었다. 팀 동료가 내 어려움을 알아채고는 회사에서 지원 방법이 있는지 알아보겠다고 했다. 그리고 매니저가 영어 회화 강좌를 들을 수 있게 해 주었다.

Read More...

바둑

한동안 바둑을 두지 않다가 최근 다시 바둑을 두기 시작했다. Online-Go란 사이트를 알게 된 다음부터다. 한국의 바둑 사이트와 달리 구글 아이디로 계정을 만들 수 있고, 별도 프로그램 설치 없이 브라우저에서 바둑을 둘 수 있다. 편리한 만큼 내게는 독이다.

Read More...

프로젝트 오일러 91

사분면 안의 직각삼각형 개수 세기
문제 자세히 보기: [국어] [영어]

1사분면 $0 \le x, y \le 50$에서 P의 가능한 위치는 모두 $51 \times 51$이고 Q의 가능한 위치도 $51 \times 51$이다. 무차별 대입법으로 문제를 푼다면 $51^4 = 6,765,201$번의 루프를 돌면서 직각인지 확인해야 하므로 빠른 시간에 답을 구하지 못한다. 이 방법으로 문제를 풀면 내 환경에서는 답을 구하는 데 7초 이상 걸린다.

Read More...

프로젝트 오일러 90

정육면체 두 개로 제곱수 만들기
문제 자세히 보기: [국어] [영어]

100 미만의 제곱수는 아홉 가지 뿐이고, 숫자 10개 중 6개를 고르는 경우의 수도 210($_{10}C_6 = 210$)으로 비교적 작으므로, 모든 조합을 구해 계산해 보는 무식한 방법을 적용해도 문제를 풀 수 있을 것 같다.

Read More...

프로젝트 오일러 89

로마숫자 최적화하기
문제 자세히 보기: [국어] [영어]

먼저 다음과 같이 텍스트 파일을 읽어 시퀀스로 만들어둔다.

(ns p089
(:require [clojure.string :as str]))

(def romans (str/split (slurp "data/roman.txt") #"\r\n"))

Read More...

프로젝트 오일러 88

일정한 개수의 숫자들을 더해도 곱해도 같은 값이 되는 경우 조사하기
문제 자세히 보기: [국어] [영어]

문제 83과 더불어 내게 가장 어려운 문제 중 하나였다. 안타깝지만 이 문제는 내 두뇌 용량을 넘는 문제여서 풀이를 보고도 이해할 수가 없었다. 아래 코드는 다른 블로그에서 찾은 Python 풀이를 Clojure로 옮긴 것에 불과하다.

Read More...

불운 4

1월 말 교통사고가 났다. 아내는 큰 아이 학교 데려다 주고 오는 길이었다. 아내의 설명에 따르면 사고 당시 상황은 다음과 같다.

Read More...

글쓰기

학창 시절, 방학을 맞는 것은 신나는 일이었지만, 방학 숙제로 빠지지 않고 나오는 글짓기 숙제는 정말 싫었다. 방학 초기에는 정신 없이 놀기 바빠 숙제는 안중에 없었다. 방학 중간 쯤 되면 슬슬 글짓기 숙제 때문에 스트레스를 받기 시작하지만 아직 여유가 있다고 생각하며 미루었다. 개학이 며칠 남지 않은 시점이 돼서야 부랴부랴 숙제를 시작하려 하지만 싫어 하던 게 갑자기 잘 될리 없다. 독후감의 경우에는 더 대책이 없었다. 책도 읽지 않았으니.

Read More...