상세정보

d

d

dd
dd

수학 퍼즐

프로그래머의 뇌를 단련하는
2016년도 일본 'IT 기술서 대상'
지은이 |   마스이 토시카츠
옮긴이 |   노슬기
발행일 |   2016-04-22
페이지 |   324가격 |   25,000원
ISBN |   978-89-6540-124-7
분야 |   자료구조, 알고리즘, 컴퓨터 일반
dddddd

수학 퍼즐

프로그래머의 뇌를 단련하는
2016년도 일본 'IT 기술서 대상'
지은이 |   마스이 토시카츠
옮긴이 |   노슬기
발행일 |   2016-04-22
페이지 |   324
가격 |   25,000원
ISBN |   978-89-6540-124-7
분야 |   자료구조, 알고리즘, 컴퓨터 일반
ddd
ddd
여러분은 프로그램을 만들어 퍼즐을 풀 수 있나요?

보면 볼수록 이해되는 알고리즘, 역시 프로그래밍은 재밌어!

급속한 기술의 진보, 시스템 개발 경쟁의 격화…. 프로그래밍을 둘러싼 환경은 그리 만만하지 않습니다. 그럼에도, 아무것도 없는 상태에서 소스 코드로 새로운 가치를 만드는 프로그래머는 아주 매력적인 직업입니다. 자신이 작성한 소스 코드로 프로그램을 처음 실행해 보았을 때나 생각한 대로 프로그램이 움직였을 때 등을 떠올려 보세요. 프로그래밍의 즐거움을 느낄 수 있었을 것입니다.
이 책에 등장하는 수학 퍼즐은 이러한 설렘으로 넘칩니다. "동전으로 바꿀 때 가능한 조합은 몇 가지?", "나라 이름으로 끝말잇기를 할 때 가장 긴 순서는?", "운명 같은 만남은 몇 가지?" 등 68가지 다양한 문제를 세 사람의 등장인물과 함께 생각하면서 프로그램으로 풀어봅니다.
퍼즐을 풀면서 알고리즘을 몸에 익힘과 동시에 간단하면서도 빠른 속도의 코드를 작성할 수 있게 됩니다. 즐기면서도 기술이 향상되므로 일거양득입니다. 그럼 지금부터 도전해봅시다!

2016년도 일본 'IT 기술서 대상' 대상 수상


사용 언어에 관해
이 책의 설명에서는 주로 루비와 자바스크립트를 사용합니다만, 설명 내용은 '생각하는 방법'이 중심이므로 어떤 언어로도 응용할 수 있습니다. 그러므로 문제를 푸는 데 반드시 특정 언어를 사용할 필요는 없습니다.

이 책에 수록된 문제(발췌)
- Q01 앞뒤가 같은 10진수 만들기
- Q03 카드를 뒤집어라!
- Q08 똑똑한 로봇 청소기
- Q09 남녀 불균형
- Q21 배타적 논리합으로 만드는 삼각형
- Q43 소수 매트릭스
- Q46 그레이 코드의 루프
- Q51 과자로 장난하기
- Q62 미로에서 만나기
제1장 입문편 ★ 프로그램으로 주어진 문제를 풀어보자
2진수와 10진수
__01 앞뒤가 같은 10진수 만들기
__02 수열의 사칙연산
__03 카드를 뒤집어라!
__04 막대 자르기
__05 아직도 현금으로 계산하다니!
__06 콜라츠 추측
__07 날짜의 2진수 변환
__08 똑똑한 로봇 청소기
__09 남녀 불균형
__10 룰렛의 최댓값

제2장 초급편 ★★ 간단한 문제를 풀어 알고리즘의 효과를 실감해 보자
비용 대비 효과 생각하기
__11 피보나치 수열
__12 제곱근의 숫자
__13 복면산을 만족하게 하는 것은 몇 가지일까?
__14 월드컵 출전국 끝말잇기
__15 계단에 서서 수다 떨기
__16 끈 세 개로 만드는 사각형
__17 30인 31각에 도전!
__18 케이크 자르기
__19 친구의 친구는 친구?
__20 수난의 파사드 마방진
__21 배타적 논리합으로 만드는 삼각형
__22 엉키지 않는 실 전
__23 블랙잭으로 대박!?
__24 완벽하게 꿰뚫은 스트럭아
__25 운동화 끈 멋지게 묶기
__26 효율적인 입체 주차
__27 우회전을 못해도 괜찮다고?
__28 적절한 동아리 활동 배분
__29 합성 저항으로 만드는 황금비율
__30 멀티 탭으로 만든 문어 다리 배선

제3장 중급편 ★★★ 알고리즘을 연구하여 고속 처리를 구현하자
빅오 표기법과 계산량
__31 최단 경로의 계산
__32 직사각형 타일을 깔아보자!
__33 운명적 만남은 몇 가지?
__34 0과 7로 만든 대칭수
__35 주사위 뒤집기
__36 7세그먼트 코드의 반전
__37 ‘흰색’으로 채워라!
__38 재배열 반복
__39 아름다운 IP주소
__40 하나의 숫자로 만드는 1234
__41 카드를 뒤섞어 역순 만들기
__42 유리컵 속 물을 반으로
__43 소수 매트릭스
__44 정렬의 교환 횟수 최소화하기
__45 오직 하나뿐인 ○×
__46 그레이 코드의 루프
__47 반전으로 만드는 엇갈리게 놓기
__48 급할수록 돌아가라
__49 퍼펙트 셔플
__50 동시에 끝나는 모래시계
__51 과자로 장난하기
__52 같은 숫자로 협공하기
__53 게으른 주판
__54 공평하게 나눈 케이크

제4장 고급편 ★★★★ 시점을 바꾸어 고속화를 노려보자!
소스 코드의 개성
__55 사다리 타기의 가로 선
__56 가장 빠른 비상연락망
__57 수건 돌리기의 총 달린 거리
__58 셀의 병합 패턴
__59 같은 크기로 분할하기
__60 교차하지 않고 한붓그리기
__61 달력의 최대 직사각형
__62 미로에서 만나기
__63 귀찮은 캐치볼
__64 한붓그리기로 도형 그리기
__65 십자말풀이 퍼즐을 만들어라!
__66 옆자리를 비우는 게 매너?
__67 남녀 평등한 자리 바꾸기
__68 청백 노래대결
마스이 토시카츠

1979년 나라현 출생으로 오사카 부립대학 대학원을 수료하였으며 마스이 기술사사무소 대표이다. 기술사(정보공학부문)로, 2004년 보안 관련 대기업에 입사하였다가 2011년 마스이 기술사사무소를 설립하였다. 데이터베이스 전문가, 시스템 아키텍트, 그 외 정보처리기술자 시험에도 다수 합격하였으며 IT 엔지니어를 위한 실무기술 평가서비스 CodeIQ (codeiq.jp)에서 알고리즘이나 정보 보안에 관한 문제를 다수 출제하고 있다. 또한, 비즈니스 수학 검정 1급에 합격하여 공익재단법인 일본 수학검정협회 인정 트레이너로도 활동 중이다. 비즈니스, 수학, IT를 조합하여 컴퓨터를 '올바르게', '효율적으로' 사용하기 위한 기술 향상 지원, 각종 소프트웨어의 개발, 정보 보안에 관한 컨설팅 등을 하고 있다. C, C++, C#, JAVA, PHP, Ruby 등 20여 가지 이상의 프로그래밍 언어를 사용한다.


노슬기

인제대학교 일어일문학과를 졸업하였으며 다년간 게임 관련 문서 번역을 하였다. 현재 일본계 게임 업체에 근무하고 있으며 번역에이전시 하니브릿지에서 전문 번역가로 활동하고 있다. 번역서로는 《러닝 안드로이드 스튜디오》가 있다.

여러분은 프로그램을 만들어 퍼즐을 풀 수 있나요?

보면 볼수록 이해되는 알고리즘, 역시 프로그래밍은 재밌어!

급속한 기술의 진보, 시스템 개발 경쟁의 격화…. 프로그래밍을 둘러싼 환경은 그리 만만하지 않습니다. 그럼에도, 아무것도 없는 상태에서 소스 코드로 새로운 가치를 만드는 프로그래머는 아주 매력적인 직업입니다. 자신이 작성한 소스 코드로 프로그램을 처음 실행해 보았을 때나 생각한 대로 프로그램이 움직였을 때 등을 떠올려 보세요. 프로그래밍의 즐거움을 느낄 수 있었을 것입니다.
이 책에 등장하는 수학 퍼즐은 이러한 설렘으로 넘칩니다. "동전으로 바꿀 때 가능한 조합은 몇 가지?", "나라 이름으로 끝말잇기를 할 때 가장 긴 순서는?", "운명 같은 만남은 몇 가지?" 등 68가지 다양한 문제를 세 사람의 등장인물과 함께 생각하면서 프로그램으로 풀어봅니다.
퍼즐을 풀면서 알고리즘을 몸에 익힘과 동시에 간단하면서도 빠른 속도의 코드를 작성할 수 있게 됩니다. 즐기면서도 기술이 향상되므로 일거양득입니다. 그럼 지금부터 도전해봅시다!

2016년도 일본 'IT 기술서 대상' 대상 수상


사용 언어에 관해
이 책의 설명에서는 주로 루비와 자바스크립트를 사용합니다만, 설명 내용은 '생각하는 방법'이 중심이므로 어떤 언어로도 응용할 수 있습니다. 그러므로 문제를 푸는 데 반드시 특정 언어를 사용할 필요는 없습니다.

이 책에 수록된 문제(발췌)
- Q01 앞뒤가 같은 10진수 만들기
- Q03 카드를 뒤집어라!
- Q08 똑똑한 로봇 청소기
- Q09 남녀 불균형
- Q21 배타적 논리합으로 만드는 삼각형
- Q43 소수 매트릭스
- Q46 그레이 코드의 루프
- Q51 과자로 장난하기
- Q62 미로에서 만나기
제1장 입문편 ★ 프로그램으로 주어진 문제를 풀어보자
2진수와 10진수
__01 앞뒤가 같은 10진수 만들기
__02 수열의 사칙연산
__03 카드를 뒤집어라!
__04 막대 자르기
__05 아직도 현금으로 계산하다니!
__06 콜라츠 추측
__07 날짜의 2진수 변환
__08 똑똑한 로봇 청소기
__09 남녀 불균형
__10 룰렛의 최댓값

제2장 초급편 ★★ 간단한 문제를 풀어 알고리즘의 효과를 실감해 보자
비용 대비 효과 생각하기
__11 피보나치 수열
__12 제곱근의 숫자
__13 복면산을 만족하게 하는 것은 몇 가지일까?
__14 월드컵 출전국 끝말잇기
__15 계단에 서서 수다 떨기
__16 끈 세 개로 만드는 사각형
__17 30인 31각에 도전!
__18 케이크 자르기
__19 친구의 친구는 친구?
__20 수난의 파사드 마방진
__21 배타적 논리합으로 만드는 삼각형
__22 엉키지 않는 실 전
__23 블랙잭으로 대박!?
__24 완벽하게 꿰뚫은 스트럭아
__25 운동화 끈 멋지게 묶기
__26 효율적인 입체 주차
__27 우회전을 못해도 괜찮다고?
__28 적절한 동아리 활동 배분
__29 합성 저항으로 만드는 황금비율
__30 멀티 탭으로 만든 문어 다리 배선

제3장 중급편 ★★★ 알고리즘을 연구하여 고속 처리를 구현하자
빅오 표기법과 계산량
__31 최단 경로의 계산
__32 직사각형 타일을 깔아보자!
__33 운명적 만남은 몇 가지?
__34 0과 7로 만든 대칭수
__35 주사위 뒤집기
__36 7세그먼트 코드의 반전
__37 ‘흰색’으로 채워라!
__38 재배열 반복
__39 아름다운 IP주소
__40 하나의 숫자로 만드는 1234
__41 카드를 뒤섞어 역순 만들기
__42 유리컵 속 물을 반으로
__43 소수 매트릭스
__44 정렬의 교환 횟수 최소화하기
__45 오직 하나뿐인 ○×
__46 그레이 코드의 루프
__47 반전으로 만드는 엇갈리게 놓기
__48 급할수록 돌아가라
__49 퍼펙트 셔플
__50 동시에 끝나는 모래시계
__51 과자로 장난하기
__52 같은 숫자로 협공하기
__53 게으른 주판
__54 공평하게 나눈 케이크

제4장 고급편 ★★★★ 시점을 바꾸어 고속화를 노려보자!
소스 코드의 개성
__55 사다리 타기의 가로 선
__56 가장 빠른 비상연락망
__57 수건 돌리기의 총 달린 거리
__58 셀의 병합 패턴
__59 같은 크기로 분할하기
__60 교차하지 않고 한붓그리기
__61 달력의 최대 직사각형
__62 미로에서 만나기
__63 귀찮은 캐치볼
__64 한붓그리기로 도형 그리기
__65 십자말풀이 퍼즐을 만들어라!
__66 옆자리를 비우는 게 매너?
__67 남녀 평등한 자리 바꾸기
__68 청백 노래대결
마스이 토시카츠

1979년 나라현 출생으로 오사카 부립대학 대학원을 수료하였으며 마스이 기술사사무소 대표이다. 기술사(정보공학부문)로, 2004년 보안 관련 대기업에 입사하였다가 2011년 마스이 기술사사무소를 설립하였다. 데이터베이스 전문가, 시스템 아키텍트, 그 외 정보처리기술자 시험에도 다수 합격하였으며 IT 엔지니어를 위한 실무기술 평가서비스 CodeIQ (codeiq.jp)에서 알고리즘이나 정보 보안에 관한 문제를 다수 출제하고 있다. 또한, 비즈니스 수학 검정 1급에 합격하여 공익재단법인 일본 수학검정협회 인정 트레이너로도 활동 중이다. 비즈니스, 수학, IT를 조합하여 컴퓨터를 '올바르게', '효율적으로' 사용하기 위한 기술 향상 지원, 각종 소프트웨어의 개발, 정보 보안에 관한 컨설팅 등을 하고 있다. C, C++, C#, JAVA, PHP, Ruby 등 20여 가지 이상의 프로그래밍 언어를 사용한다.


노슬기

인제대학교 일어일문학과를 졸업하였으며 다년간 게임 관련 문서 번역을 하였다. 현재 일본계 게임 업체에 근무하고 있으며 번역에이전시 하니브릿지에서 전문 번역가로 활동하고 있다. 번역서로는 《러닝 안드로이드 스튜디오》가 있다.