Posts

Emacs: 빈 줄 지우기

편집중인 버퍼에서 빈 줄을 모두 지우고 싶으면 어떻게 해야 할까? 코드를 작성할 때는 이런 경우가 거의 없지만 다른 파일을 편집할 때는 빈 줄을 모두 삭제해야 하는 경우가 종종 생긴다.

Read more...

프로젝트 오일러 8

1000자리 숫자 안에서 이어지는 5자리 숫자의 곱 중 최대값은?

문제 자세히 보기: [국어]

1,000자리 숫자라고 하지만 1,000개의 숫자 리스트로 보는 편이 문제를 풀기에 더 좋을 것 같다. Clojure에서는 문자열도 시퀀스로 다룰 수 있으므로 bigint를 쓰기 보다는 문자열로 만들어 작업하는 게 더 편하다.

Read more...

프로젝트 오일러 7

10001번째의 소수?

문제 자세히 보기: [국어] [영어]

에라토스테네스 체(Sieve of Eratosthenes)를 이용하면 소수 목록을 구할 수 있지만, 이 문제의 경우 체의 범위를 어디까지 해야 할지가 애매하다. 대충 50,000 정도까지 해보고 안 되면 다시 100,000 정도까지 해보는 식으로 범위를 늘려가며 문제를 풀 수도 있다.

Read more...

Java REPL

코드를 작성하다 보면 작은 코드 조각을 간단히 테스트해보고 싶을 때가 자주 생긴다. 간단한 계산이 필요할 수도 있고 특정 함수를 호출했을 때의 결과를 확인하고 싶을 수도 있다. 코드가 어떻게 동작하는지 간단히 확인해보고 싶을 수도 있다.

Read more...

Emacs: 행 연결

코드를 편집하다 보면 여러 줄을 한 줄로 합치고 싶을 때가 종종 생긴다. 예를 들어 다음과 같은 코드가 있다고 하자.

func(arg1,
     arg2,
     arg3);

이걸 다음과 같이 바꾸고 싶다.

func(arg1, arg2, arg3);

Read more...

Emacs: Sublime Text 데모 편집 흉내

Sublime Text 에디터 홈페이지에 있는 데모 화면을 보고 감탄했던 적이 있다. 특히 데모 2/6에 감탄해 Emacs에서 비슷하게 해보려 했지만 성공하지 못했다. 그동안 에디터가 많이 발전했음을 느끼며 주 사용 에디터를 Sublime Text로 바꿔볼까 생각했다. 사용해보고 마음에 들면 기꺼이 정품을 구입할 생각이었다.

Read more...

프로젝트 오일러 6

1부터 100까지 "제곱의 합"과 "합의 제곱"의 차는?

문제 자세히 보기: [국어] [영어]

문제가 단순하고 범위도 적어 아무렇게나 풀어도 쉽게 답을 구할 수 있다.

Read more...

프로젝트 오일러 5

1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는?

문제 자세히 보기: [국어] [영어]

1~20의 최소공배수(Least Common Multiple)를 구하는 문제다. 최소공배수는 다음 식으로 간단히 구할 수 있다.

Read more...

Emacs를 데이터베이스 클라이언트로 사용하기

Emacs에서 데이터베이스 쿼리를 할 수 있으면 좋겠다는 생각이 들었다. 지금까지 찾은 방법은 SQLi를 이용한 방법과 edbi를 사용하는 방법 두 가지다. SQLi는 Emacs 기본 기능을 사용하기 때문에 별도 패키지를 설치하지 않아도 되지만 기능도 기본 수준이다. edbi는 SQLi보다 풍부한 기능을 제공하지만 별도 패키지를 설치해야 하고 cpan으로 RPC::EPC::Service, DBI, 데이터베이스 드라이버 등의 Perl 모듈을 설치해야 한다.

Read more...

프로젝트 오일러 4

세자리 수를 곱해 만들 수 있는 가장 큰 대칭수는?

문제 자세히 보기: [국어] [영어]

세 자리 정수는 100부터 999까지다. 따라서 무식하게 풀어로 루프 회수가 1백만 번을 넘지 않으며, a \times b = b \times a 임을 고려해 중복을 제거하면 루프 회수를 절반으로 줄일 수 있다. 따라서 대충 풀어도 금방 답을 구할 수 있다.

Read more...