콘텐츠로 건너뛰기
Home » Uncategorized

Uncategorized

수식을 조합해서 1~40을 만들 수 있는 수 찾기

이 문제는 작년에 조카의 수행평가 관련해서 질문 받은 것인데, 네 개의 서로 다른 숫자와 기본연산자를 조합하여 1~40의 모든 정수를 만들 수 있는 숫자를 찾는 문제였다. 사실 이 문제가 코딩 문제가 아닌 수학 수행 평가라는 점에서 눈을 의심하지 않을 수 없는데, 4개의 숫자로 구성되는 순열(24개)에 대해서, 각 숫자 사이에 들어갈 수 있는 연산자의 경우는 중복을 허용하여 5가지 (사칙연산에 필요한 4개와 연산자를 쓰지 않고 숫자를 붙이는 경우 1개 더)이기 때문에, 숫자 4개가 결정되었을 때 만들 수 있는 식의 개수는 무려 3,000 개이다. 1~9의 9개 숫자 중에서 4개를 선택하는 경우는 126가지이므로 4개의 숫자를 사용해서 만들 수 있는 식의 경우는 총378,000 가지이고, 이 문제는 전수 검사 (운이 좋다면 중간에 40가지의 수를 만드는 식을 만들 수 있는 조합을 찾을 수 있겠지만)를 통해서 찾아야 하는 수 밖에 없고, 결국 가능한 경우를 찾으려면 최악의 경우 거의 38만개의 식을 검사해야 하는데 이걸 컴퓨터의 힘을 빌리지 않고 수행평가를 하라는 것인지 이해가 가지 않았기 때문이다.

컴퓨터를 사용해서 이 문제를 해결하는 방법 자체는 간단한데, 의외로 실행 시간이 오래 걸릴 수는 있다. 이 문제에서는 어떻게든 숫자 4개의 조합에서 1~40까지를 만들 수 있는 경우를 찾으면 바로 종료하여 최대한 시간을 단축하는 방법을 사용했다.

더 보기 »수식을 조합해서 1~40을 만들 수 있는 수 찾기

ZMQ 소켓 – Dealer, Router 이해하기

이전 글에서 프록시를 소개하면서 단순한 REQ – REP 패턴의 네트워크 중간에 중간 매개로 프록시를 넣어 REQ – ROUTER – DEALER – REP 형태로 패턴을 확장하는 예를 살펴보았다. 이 때, ROUTER – DEALER 사이에서 오가는 데이터를 보면 REQ-REP 사이에서 오가는 데이터와 다르게 추가된 프레임이 보인다는 것을 볼 수 있었다. 이번 글에서는 이런 현상은 왜 일어나며, ROUTER가 무슨 짓을 벌이는지에 대해 소개하고자 한다. 적어도 이 개념을 이해한다면 ZMQ를 통해서 훨씬 더 유연하고 창의적인(?) 패턴을 만드는 것도 가능하리라고 본다. 먼저 간단한 REQ-REP 패턴에서… 더 보기 »ZMQ 소켓 – Dealer, Router 이해하기

마이크로소프트 무선마우스 4000 사용후기

코로나로 인해서 학교에서 원격 수업을 하기 시작하면서 딸아이도 본격적으로 컴퓨터를 사용하게 됐다. 집에서 사용하는 노트북을 구매할 때 받은 미니 무선 마우스가 있었는데, 몇 번 떨어뜨려서 건전지 수납부 뚜껑이 떨어져서 잃어버렸다. 그 이후로 쓰는 중에 건전지가 빠져서 마우스가 꺼지는 일이 자주 있어서 새 마우스를 알아보았다. 아무래도 손이 작은 아이가 주로 쓸 것이라 크기가 작은 것들 위주로 알아보려 했는데, 별도의 USB 리시버를 꽂지 않아도 사용할 수 있는 블루투스 연결을 지원하는 마우스들도 많이 있더라. 노트북을 가지고 다니는 일이 잦은데, 이 리시버가 작긴하지만 가방에… 더 보기 »마이크로소프트 무선마우스 4000 사용후기

Julia – 파일 다루기

Julia에서 파일을 여는 법

줄리아에서 파일을 읽고 쓰기 위해서는 IOStream 객체이를 이용한다. 스트림 객체를 만들기 위해서는 open() 함수를 사용한다. 이렇게 얻은 스트림객체는 read(), write(), seek()등 파일 입출력 관련 함수에서 사용된다. 가장 기본적인 문법으로 파일을 열어서 내용을 읽고 출력하는 코드를 작성해보면 다음과 같은데, 다른 많은 언어들과 큰 차이를 보이지 않는 것 같다.

fd = open("myfile.txt")
body = read(fd, String)
println(body)
close(fd)
더 보기 »Julia – 파일 다루기

20091008 :: 바코드의 날

어제가 바코드 탄생 50주년을 맞는 날이었답니다. 위의 황량한 이미지는 이 날의 구글 첫 페이지의 모습입니다. 구글 로고 대신에 떡하니 바코드가 찍혀있다보니 보는 이로 하여금 큰 시각적 충격을 맞이하게 해 줍니다. 더더욱 무서운 사실은 구글(영문 검색 페이지. 한국어 페이지는 예의 그 오목조목 서비스 명칭이 많이 달린 페이지로 동일했습니다) 첫 페이지에 접속하면 눈에 익은 파란색 글씨들 (로그인이라든지, 검색 카테고리 링크 등)이 하나도 보이지 않고 딱 저 바코드와 텍스트 입력 박스만 보인다는 사실입니다. 흠칫 놀라고 있을즘에 서서히 다른 글씨들이 나타나서 이 곳이 구글임을… 더 보기 »20091008 :: 바코드의 날

20090724 :: 미디어법 사태에 대해 짧게…

그저, 이 시대에 이 땅을 사는 한 인간으로서 결코 오늘 일을 잊지 않아야 하겠다고 다짐하고 또 다짐합니다. 주먹에 힘이 들어가는 이 기분… 잠을 이루기 힘들 듯 합니다. 먼저 떠나신 그 분 보기에 너무나 부끄러운 하루였습니다.

20090713 :: 근황

사실, 개인적인 이야기는 블로그에 쓰지 않고 나의 지인들의 대부분은 싸이를 하지 블로그 같은 걸 운영하는 사람도 없어고, 한다고 한 들 내가 블로그를 한다는 사실을 알거나 거기까지는 알고 있지만 실제로 내 블로그를 오는 사람은 없어서 근황을 알릴 필요는 없지만 그래도. 요즘 몸이 좀 안 좋습니다. 몇 주 전부터 조금의 어지럼증이 있었는데, 작년부터 혈압이 조금씩 떨어져서 그런가 보다 했는데, 딱 일주일 전에는 직선으로 걷기가 힘들 정도로 현기증이 심해지더군요. 동네 의원을 갔더니 조금 큰 데 가보는 게 좋겠다고 하셔서 신림역에서 그리 멀지 않은… 더 보기 »20090713 :: 근황

20090222 :: KBS 너네 진짜 이럴래?

날씨도 무척이나 찌뿌둥 하고 바깥에 나가서 바깥 바람을 쐬는 일도 황사 때문에 고역입니다만, 배는 고프니까 주섬 주섬 옷을 챙겨 입고 밥을 먹으러 나섰습니다. 언제나 주말이면 이용하는 집 근처 식당에서 밥을 먹는데, 몸도 별로 안 좋고 하다보니 입맛도 별로 없더군요. 사실 그리 음식이 맛있는 식당도 아니고 해서 얼른 먹고 나가려고 정말이지 꾸역 꾸역 밥을 밀어 넣고 있었습니다. 그런데 식당에 켜 놓은 TV에서 ‘잠시 후 뉴스 속보가 이어집니다’ 라는 자막이 보이더군요. 음… 또 뭔가 사고가 터지거나 우리 나라 경제 타격을 입힐 만한… 더 보기 »20090222 :: KBS 너네 진짜 이럴래?

20090216 :: 이 시대의 성자

故 김수환 추기경께서 오늘 이 땅을 떠나 신의 품으로 가셨다고 한다. 진정 몸을 낮추어 사람과 함께하고 사람을 아끼셨던 분이기에, ‘이 시대의 성자’라는 표현이 결코 아깝지 않은 분이 셨다. 종교를 떠나 그 분을 잃는 것은 이 나라 국민의 한 사람으로서, 그리고 동시대를 살았던 사람으로서 너무나 안타까운 일이다. 우리는 오늘 큰 스승을, 그리고 아버지를 잃었다. 당신과 같은 시대를 살 수 있어서 축복입니다. 부디 평온 하시길.