길벗·이지톡

도서 IT 전문서 프로그래밍/오픈소스

코딩은 괜찮아!

생각이 문제지!

 

코딩 능력이 아니라

알고리즘 사고력이 필요하다


문제 해결은 퍼즐을 해결하는 과정과 같다

 

알고리즘 테스트 != 코딩 능력

알고리즘 테스트는 코딩 능력 테스트가 아니다. 알고리즘 테스트가 코딩 능력이라고 생각하는 것은 흔히 하는 실수이며, 실제로는 알고리즘 사고력이 핵심이다. 코딩을 못하는 게 아니라 알고리즘 사고력을 배우지 못했기 때문이다. 상위 레벨의 접근법으로 문제를 이해하고 풀어내는 과정이 알고리즘 사고력의 핵심이다. 문제에 급급해서는 상위 레벨의 접근법을 배울 수 없다. 문제를 어떤 전략으로 접근할지 결정하는 알고리즘 사고력을 배워야 한다.

 

 

알고리즘 사고력을 위해 엄선된 퍼즐

직접 코딩을 하는 책은 아니지만, 알고리즘을 설계하거나 분석하기 위한 일반적인 원리를 보여줄 만한 퍼즐을 골랐다. 이러한 퍼즐을 통해 배울 수 있는 알고리즘 설계 전략은 다음과 같다.

 

 

  • 완전 검색
  • 역추적
  • 감소 정복
  • 분할 정복
  • 변환 정복
  • 탐욕 접근법
  • 반복 향상
  • 동적 프로그래밍
  • 분석 기술

 

 

마방진, N-퀸 문제, 애너그램 감지, 최단 경로 개수, 네덜란드 국기 문제 등의 퍼즐 문제는 알고리즘 코딩 테스트의 단골 문제이며, 다양한 코딩 테스트 사이트에서 문제로 출제된 것을 확인할 수 있다. 문제를 이해하고 풀 수 있다면 코딩 능력은 문제가 되지 않는다. 이것이 이 책의 핵심 가치다.

 


퍼즐의 난이도별 접근

퍼즐이 어려운 독자를 위해 150개의 퍼즐을 난이도에 따라 초급, 중급, 고급으로 분류했다. 알고리즘 풀이 기법과 난이도에 따라 다양한 방식으로 문제에 접근할 수 있게 구성되어 있으며 이를 통해 알고리즘 디자인 전략과 분석 기법을 학습할 수 있게 했다.

 

 

[관련도서]

알고리즘 산책

누구나 자료 구조와 알고리즘 개정2판

문제 해결력을 높이는 알고리즘과 자료 구조

 

목차

튜토리얼 퍼즐

__마방진

__n-퀸 문제

__유명 인사 문제

__숫자 맞히기(스무고개)

__트로미노 퍼즐

__애너그램 감지

__현금 봉투

__질투심 많은 두 남편

__구아리니 퍼즐

__파이 자르기 최적화

__공격하지 않는 킹

__밤중에 다리 건너기

__레모네이드 가판대 배치 방법

__양수로 바꾸기

__최단 경로 개수

__체스의 발명

__정사각형 덧붙이기

__하노이의 탑

__이 빠진 체스판 도미노로 채우기

__쾨니히스베르크의 다리 문제

__초코바 쪼개기

__옥수수밭의 닭

 

 

메인 섹션 퍼즐

__001 늑대, 염소, 양배추

__002 장갑 고르기

__003 직사각형 분할

__004 강 건너기

__005 행과 열 맞바꾸기

__006 손가락으로 숫자 세기

__007 밤에 다리 건너기

__008 조각 그림 맞추기

__009 암산

__010 동전 여덟 개 중에서 가짜 동전 찾아내기

__011 가짜 동전 무더기

__012 타일 채우기

__013 막힌 경로

__014 체스판 다시 조립하기

__015 트로미노 타일 채우기

__016 팬케이크 만들기

__017 킹이 갈 수 있는 곳

__018 끝에서 끝까지

__019 쪽번호 붙이기

__020 최대 합 내려가기

__021 정사각형 쪼개기

__022 팀 정렬

__023 폴란드 국기 문제

__024 체스판 색칠하기

__025 살아있기 좋은 날

__026 순위 구하기

__027 20변 게임

__028 한붓그리기

__029 마방진 톺아보기

__030 막대 자르기

__031 카드 맞히기 마술

__032 싱글 엘리미네이션 토너먼트

__033 마방진과 유사 마방진

__034 별 위의 동전

__035 물병 세 개

__036 +- 배치

__037 2n개의 말

__038 테트로미노 타일 배치

__039 판 밟기

__040 네 나이트 퍼즐

__041 원형으로 배치된 조명

__042 또 다른 늑대-염소-양배추 문제

__043 수 배치

__044 가벼운가 무거운가

__045 나이트 최단 경로

__046 삼색 배치

__047 전시 계획

__048 맥너겟 수

__049 선교사와 식인종

__050 마지막 공

__051 빠진 수 맞히기

__052 삼각형 개수

__053 용수철 저울로 가짜 동전 찾아내기

__054 직사각형 판 자르기

__055 주행거리 퍼즐

__056 신병 줄 세우기

__057 피보나치의 토끼

__058 한 번 정렬, 두 번 정렬

__059 두 가지 색 모자

__060 삼각형과 정사각형

__061 대각선상의 체커

__062 동전 줍기

__063 플러스와 마이너스

__064 팔각형 그리기

__065 암호 맞히기

__066 남은 수

__067 평균

__068 각 자리 숫자 더하기

__069 칩 옮기기

__070 점프해 쌍 만들기 I

__071 칸 표시하기 I

__072 칸 표시하기 II

__073 닭 쫓기

__074 위치 선택

__075 주유소 점검

__076 효율적인 루크

__077 패턴을 찾아서

__078 직선 트로미노 채우기

__079 사물함 문

__080 왕자의 여행

__081 유명 인사 문제 II

__082 모두 앞면 만들기

__083 제한된 하노이의 탑

__084 팬케이크 정렬

__085 루머 퍼뜨리기 I

__086 루머 퍼뜨리기 II

__087 뒤집힌 잔

__088 두꺼비와 개구리

__089 말 바꾸기

__090 자리 재배치

__091 수평 도미노와 수직 도미노

__092 사다리꼴 타일 배치

__093 전함 맞히기

__094 정렬된 표 검색

__095 최대-최소 무게

__096 계단 모양 영역 채우기

__097 탑스웝스 게임

__098 회문 개수 세기

__099 정렬 뒤집기

__100 나이트가 갈 수 있는 곳

__101 방에 페인트 칠하기

__102 원숭이와 코코넛

__103 반대편으로 점프하기

__104 말 나누기

__105 MU 퍼즐

__106 전구 켜기

__107 여우와 토끼

__108 최장 경로

__109 더블-n 도미노

__110 카멜레온

__111 동전 삼각형 뒤집기

__112 도미노 채우기 II

__113 동전 제거하기

__114 점 가로지르기

__115 바셰의 무게 추

__116 부전승 횟수

__117 1차원 솔리테어

__118 여섯 개의 나이트

__119 삼색 트로미노

__120 동전 분배기

__121 초강력 달걀 시험

__122 의회의 평화

__123 네덜란드 국기 문제

__124 사슬 자르기

__125 다섯 개를 일곱 번 안에 정렬하는 방법

__126 케이크를 공평하게 나누는 방법

__127 나이트의 여행

__128 보안 스위치

__129 리브의 퍼즐

__130 독이 든 와인

__131 테이트의 카운터 퍼즐

__132 솔리테어 군대

__133 라이프 게임

__134 점 색칠하기

__135 서로 다른 짝

__136 스파이 잡기

__137 점프해 쌍 만들기 II

__138 사탕 나누기

__139 아서왕의 원탁

__140 n-퀸 문제 다시 보기

__141 요세푸스 문제

__142 12개의 동전

__143 감염된 체스판

__144 정사각형 죽이기

__145 퍼즐

__146 움직이는 목표물 맞히기

__147 번호 달린 모자

__148 자유를 위한 동전 한 개

__149 자갈 펼치기

__150 불가리아식 솔리테어

 

 

더보기접기

저자

ㆍ지은이 아나니 레비틴

지은이 소개
빌라노바 대학교의 컴퓨터 공학과 교수이며 인기 있는 알고리즘 디자인과 분석 교과서의 저자이다. 그의 책은 중국어, 한국어, 그리스어, 러시아어로 번역되었다. 수학적 최적화 이론, 소프트웨어 엔지니어링, 데이터 관리, 알고리즘 디자인, 컴퓨터 과학 교육 등에 논문을 출판했다.

ㆍ지은이 마리아 레비틴

지은이 소개
마리아 레비틴은 독립 컨설턴트이다. 주요 소프트웨어 회사와 다국적 기업을 위한 비즈니스 애플리케이션을 개발한 경력을 쌓은 후에 웹 기반 애플리케이션과 무선 컴퓨팅의 전문가로 활동하고 있다.

ㆍ옮긴이 서환수

옮긴이 소개
서울대학교 물리학과에서 박사 학위를 받고 지금은 경기도 모처의 기업 연구소에서 나노과학을 연구하고 있다. 유치원에 들어가기 전부터 아무것도 모르고 물리학을 하겠다고 마음먹은 이후로, 40대 중반에 이른 지금까지도 “어떤 사람이 되고 싶으냐?”라는 질문을 받으면 “훌륭한 과학자요”라고 대답하고 있다.

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.