Posts

프로젝트 오일러 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...

아마존에서 보낸 2년

영국에 온지 벌써 두 해가 지났다. 아마존 런던 개발 센터에 와서 합류한 팀은 티어1 서비스만 네 개를 맡고 있었다. 매니저 짐은 한국에서 전화로 얘기했을 때도 느낌이 좋았는데, 직접 만나니 더 좋은 사람이었다. 회사 일뿐 아니라 개인 일을 처리하는 데도 많은 도움을 주었다. 다른 영국 사람들의 발음은 알아듣기가 어려웠는데, 짐의 발음은 비교적 잘 들렸다. 팀에는 영국, 폴란드, 슬로바키아, 인도, 이란 출신 엔지니어가 있었고 액센트도 다양해 적응하기가 더욱 어려웠다.

Read more...

불운 3

회사에 있는데 아내에게 전화가 왔다. 전화를 받았더니 집에 도둑이 들었다, 침실 앞에 칼이 있었다고 소리를 질렀다. 아내를 진정시키고 자초지정을 물었다. 다행히 도둑은 떠난 뒤였다. 999로 전화해 경찰에 신고했다. 바로 집으로 떠나려 했지만, 상담원이 계속 질문을 해서 출발할 수 없었다.

Read more...

HttpClient 테스트

Java 9에는 모듈 시스템, 링킹, JShell 등 여러 가지 중요한 기능이 추가됐지만, 새로운 HTTP API에 가장 큰 관심이 갔다. 이 녀석을 활용하면 우리 팀에서 개발하는 서비스 코드를 훨씬 읽기 좋게 바꿀 수 있을 것 같다는 생각이 들었다.

Read more...

이사

지난 주, 워킹(Woking)에서 서튼(Sutton)으로 이사했다. 워킹은 살기 좋은 곳이지만, 학교가 별로 좋지 않았다. 서튼으로 가면 출퇴근은 불편해지지만 좋은 학교가 많다. 아이들을 위해서는 서튼이 나을 것이다.

Read more...