본문내용 바로가기

KYOBO 교보문고

금/토/일 주말특가
2020책점운세보기
선착순 e캐시
[VORA]카카오프렌즈편
  • 낭만서점 독서클럽 5기 회원 모집
  • 교보아트스페이스
게임으로 익히는 코딩 알고리즘
* 중고장터 판매상품은 판매자가 직접 등록/판매하는 상품으로 판매자가 해당상품과 내용에 모든 책임을 집니다. 우측의 제품상태와 하단의 상품상세를 꼭 확인하신 후 구입해주시기 바랍니다.
320쪽 | | 190*257*21mm
ISBN-10 : 1162241616
ISBN-13 : 9791162241615
게임으로 익히는 코딩 알고리즘 중고
저자 김영기 | 출판사 한빛미디어
정가
22,000원 신간
판매가
18,470원 [16%↓, 3,530원 할인]
배송비
2,500원 (판매자 직접배송)
지금 주문하시면 2일 이내 출고 가능합니다.
토/일, 공휴일을 제외한 영업일 기준으로 배송이 진행됩니다.
2019년 5월 6일 출간
제품상태
상태 최상 외형 최상 내형 최상
이 상품 최저가
18,470원 다른가격더보기
새 상품
19,800원 [10%↓, 2,200원 할인] 새상품 바로가기
수량추가 수량빼기
안내 :

중고장터에 등록된 판매 상품과 제품의 상태는 개별 오픈마켓 판매자들이 등록, 판매하는 것으로 중개 시스템만을 제공하는
인터넷 교보문고에서는 해당 상품과 내용에 대해 일체 책임을 지지 않습니다.

교보문고 결제시스템을 이용하지 않은 직거래로 인한 피해 발생시, 교보문고는 일체의 책임을 지지 않습니다.

판매자 상품 소개

※ 해당 상품은 교보문고에서 제공하는 정보를 활용하여 안내하는 상품으로제품 상태를 반드시 확인하신 후 구입하여주시기 바랍니다.

판매자 배송 정책

  • 토/일, 공휴일을 제외한 영업일 기준으로 배송이 진행됩니다.

더보기

구매후기 목록
NO 구매후기 구매만족도 ID 등록일
33 책 상태 괜찮고 잘볼께요 감사합니다 5점 만점에 5점 totlove*** 2020.01.02
32 빠른 배송에 감사드립니다. 새해 복 많이 받으세요. 5점 만점에 5점 sic*** 2020.01.02
31 책은 깨끗하고 배송도 빠르나 좀 비싸요 5점 만점에 4점 iew*** 2019.12.30
30 책의 내용이 희망사항에 부합되고 택배도 비교적 빨라 만족함 5점 만점에 5점 soho1*** 2019.12.17
29 잘읽을게요 감사합니다 5점 만점에 5점 leefr*** 2019.12.16

이 책의 시리즈

책 소개

상품구성 목록
상품구성 목록

- <개발자 레벨업 프로젝트> 개발자의 취직, 이직, 승진은 코드에 달려 있다!
날마다 조금씩 발전하는 자신을 위해 코딩 테스트를 하는 개발자.
개발사에 취업하려 하나요ㆍ
경력 관리를 위해 이직하려 하나요ㆍ 혹은 실력을 검증하고 발전시키고 싶나요ㆍ
프로그래밍 언어의 기본 문법은 학습하였지만 막상 코딩을 시작하려니 막막한 입문자, 힘겹게 취직은 했지만 아는 것보다 모르는 것이 더 많은 초보 개발자, 업무를 진행할 때마다 많은 시행착오로 인해 업무 처리가 버거운 개발자라면 꼭 이 책으로 도전해보세요!

* 누구를 위한 책인가요ㆍ
ㆍ 프로그래머 취업 준비생
ㆍ 이직 준비 중인 개발자
ㆍ 실력을 키우고자 하는 개발자

저자소개

저자 : 김영기
코딩게임 레벨 35 / 닉네임 hard-coded
코딩게임의 모든 업적을 다 채우려다보니 평소에 쓰지도 않던 프로그래밍 언어를 공부하는 일이 어느새 새로운 취미가 되었다.
한글과컴퓨터에서 개발자의 삶을 시작하며 아래아한글을 개발했다. 그러다 어느 날 게임을 만들겠다며 회사를 뛰쳐나가 (주)블루사이드, 이노스파크, 비주얼 콘셉츠에서 <킹덤 언더 파이어 2>, <드래곤프렌즈>, <히어로스카이>, 시리즈 등의 게임을 출시했다. 현재는 캐나다에서 새로운 도전을 위한 공부를 하며 취미로 새로운 언어를 익히고 있다.
코딩게임 프로필 : http://www.codingame.com/profile/bdb85491a5398d37cc726929a30b95231303091

목차

저자의 글
들어가기 전에

PART 01 코딩게임 첫걸음 떼기
1. 알고리즘 시작하기 : 알고리즘은 무엇이고 왜 필요할까?
__1-1 컴퓨터 알고리즘
__1-2 알고리즘은 왜 필요할까?
__1-3 알고리즘은 어떻게 학습할까?
__1-4 알고리즘의 성능은 어떻게 표현할까?
2. 코딩게임 살펴보기 : 게임으로 배우는 알고리즘
__2-1 코딩게임이란?
__2-2 화면 구성 알아보기
__2-3 사용자 정보 보기
__3. THE DESCENT : 반복문으로 가장 높은 산을 파괴하라
__3-1 문제 설명
__3-2 어떻게 풀까요?
__3-3 필요한 알고리즘은?
____조건문
____최댓값 구하기
__3-4 풀어 봅시다
__3-5 더 생각해 봅시다
4. TEMPERATURES : 가장 낮은 절댓값을 찾아라
__4-1 문제 설명
__4-2 어떻게 풀까요?
____절댓값
__4-3 필요한 알고리즘은?
____반복문
____split의 용도
__4-4 풀어 봅시다
__4-5 더 생각해 봅시다
____배열
5. CHUCK NORRIS : 0만 가지고 2진수 표현하기
__5-1 문제 설명
__5-2 어떻게 풀까요?
__5-3 필요한 알고리즘은?
__10진수를 2진수로 변환하기
____인코딩하기
__5-4 풀어 봅시다
__5-5 더 생각해 봅시다
__2진수 변환
____문자열 슬라이스 기능
____비트 시프트 연산

PART 02. 문제 속에서 답을 찾는 실전 알고리즘
6. STOCK EXCHANGE LOSSES : 발끝에서 사서 머리에서 팔아라
__6-1 문제 설명
__6-2 어떻게 풀까요?
__6-3 필요한 알고리즘은?
____문제 분석 능력
__6-4 풀어 봅시다
__6-5 더 생각해 봅시다
____코드에 대한 이해도 높이기
____다른 방식으로 접근하기
7. THERE IS NO SPOON : 2차원 배열에서 좌표 찾기
__7-1 문제 설명
__7-2 어떻게 풀까요?
__7-3 필요한 알고리즘은?
____배열
__2차원 배열
____중첩 반복문
__7-4 풀어 봅시다
__7-5 더 생각해 봅시다
__2차원 배열
____시간 복잡도 O(n)
____중첩 반복문
8. WAR : 큐와 스택으로 벌이는 한판 게임
__8-1 문제 설명
__8-2 어떻게 풀까요?
__8-3 필요한 알고리즘은?
____큐
____스택
__8-4 풀어 봅시다
__8-5 더 생각해 봅시다
9. SCRABBLE : 해시맵으로 단어 만들기
__9-1 문제 설명
__9-2 어떻게 풀까요?
__9-3 풀어 봅시다-1
__9-4 필요한 알고리즘은?
____해시맵
__9-5 풀어 봅시다-2
____해시맵 풀이
__9-6 더 생각해 봅시다
____해시의 의미
____해시맵의 제약
10. SHADOWS OF THE KNIGHT : 폭탄의 위치를 찾는 가장 빠른 방법
__10-1 문제 설명
__10-2 어떻게 풀까요?
__10-3 필요한 알고리즘은?
____이진 탐색
____이진 탐색의 시간 복잡도
__10-4 풀어 봅시다
__10-5 더 생각해 봅시다
____M×N 배열에서 시간 복잡도
____이진 탐색의 전제 조건
11. THE GIFT : 돈을 나누는 가장 공평한 방식
__11-1 문제 설명
__11-2 어떻게 풀까요?
__11-3 필요한 알고리즘은?
____탐욕 알고리즘
____탐욕 알고리즘으로 최적의 해 찾기
__11-4 풀어 봅시다
__11-5 더 생각해 봅시다
____무차별 대입법 / 동적 프로그래밍
____외판원 문제
12. DWARFS STANDING ON THE SHOULDERS OF GIANTS : 재귀 함수를 사용해 트리의 높이 구하기
__12-1 문제 설명
__12-2 어떻게 풀까요?
__12-3 필요한 알고리즘은?
____그래프
____너비 우선 탐색과 깊이 우선 탐색
____재귀
__12-4 풀어 봅시다
__12-5 더 생각해 봅시다
____그래프와 트리
____단방향 그래프와 양방향 그래프
13. SKYNET REVOLUTION : I will be back to search
__13-1 문제 설명
__13-2 어떻게 풀까요?
__13-3 필요한 알고리즘은?
____그래프
____너비 우선 탐색
__13-4 풀어 봅시다
__13-5 더 생각해 봅시다
____깊이 우선 탐색과 최단 경로
____노드 간 이동 시간과 최단 거리

PART 03. 고급 퀴즈 해결하기
14. TAN NETWORK : 최단 경로를 알려드립니다
__14-1 문제 설명
__14-2 어떻게 풀까요?
__14-3 필요한 알고리즘은?
____다익스트라 알고리즘
__14-4 풀어 봅시다
__14-5 더 생각해 봅시다
____다익스트라 알고리즘 적용이 불가한 경우
____다익스트라 알고리즘의 단점
15. ROLLER COASTER : 최고의 롤러코스터 타이쿤 되기
__15-1 문제 설명
__15-2 어떻게 풀까요?
__15-3 풀어 봅시다-1
__15-4 필요한 알고리즘은?
____원형 큐
____동적 프로그래밍
__15-5 풀어 봅시다-2
__15-6 더 생각해 봅시다
____시간 초과 개선 방법

__부록 A. 먼저 취업한 선배들의 도움되는 Talk Talk
__부록 B. 프로그램 이해에 도움되는 수도코드

마치는 글
Index

책 속으로

출판사 서평

도서 특징 나의 코드로 나의 레벨을 확인해보자! 어제의 코드와 오늘의 코드는 달라야 합니다. 하지만 하루하루 나아지는 일은 생각보다 쉬운 일이 아닙니다. 그래서 게임 요소가 적용된 코딩게임 플랫폼(www.codingame.com)을 택했습니다. 게...

[출판사서평 더 보기]

도서 특징
나의 코드로 나의 레벨을 확인해보자!
어제의 코드와 오늘의 코드는 달라야 합니다. 하지만 하루하루 나아지는 일은 생각보다 쉬운 일이 아닙니다. 그래서 게임 요소가 적용된 코딩게임 플랫폼(www.codingame.com)을 택했습니다. 게임하듯 즐겁게, 코딩 테스트를 할 수 있는 매력적인 플랫폼입니다. 레벨업 하면서 하루하루 나아지는 코드를 확인하며 교과서를 벗어나 살아 숨 쉬는 알고리즘을 만날 수 있습니다.
친구와 경쟁하고 저자와 경쟁하며 게임을 즐기듯 할 수 있는 코딩 테스트에 도전해보세요!
이 책의 특징
1. 탄탄한 학습 설계 : 3단계 난이도별 구분과 문제 분석부터 해결, 5단계 길잡이 풀이법까지 초보자도 따라할 수 있는 탄탄한 구성
2. 이론과 실전의 결합 : 알고리즘 이론서보다 쉬운 설명과 그에 걸맞는 문제가 있어 실전처럼 바로 문제에 활용
3. 사고의 확장 : 문제풀이에서 끝나지 않고, 꼬리에 꼬리를 물고 그이상의 해법을 함께 생각하도록 자극하는 코너(좀 더 생각해 봅시다) 제공
4. 코딩 테스트의 즐거움 : 시각적 재미가 가득한 게임 문제를 통해서 흥미를 잃지 않고 지속할 수 있는 코딩 테스트

[출판사서평 더 보기 닫기]

책 속 한 문장

회원리뷰

  •  
     

    안녕하세요 ^^

    6월 리뷰로 찾아뵙습니다.

    많은 컨텐츠와 자료를 올려야 하는데.. 올려야 하는데 하면서도 막상 오프라인에서 바쁘게 뛰다보니,

    온라인 포스팅은 소홀히 하게 되는군요ㅠ 많은 분께서 포스팅을 해달라고 하시지만

    막상 모든 부탁을 들어드릴 수 없는 점에 대하여 진심으로 양해를 구합니다.

    방학 이후 포스팅 계획을 잡고 있습니다.

    짧으면 2달 ~ 길면 3달 안에 다시 좋은 컨텐츠로 복구 예정입니다.

    기대해주세요^^

    오늘도 역시 시작해볼까요?

    이 글을 보는 모든 분들께 그리고 이렇게 리뷰를 할 수 있게 제공해주신 한빛미디어 관계자분께도

    진심으로 감사의 인사를 드립니다.

    노력하는 사람은 즐기는 자를 이길 수 없다

    공부를 위한 코딩이 아닌 즐거움을 위한 코딩의 세게에 함께 빠져들기를 바랍니다.

    1.jpg

     

     

    이번달도 역시 서적이 도착했습니다.

    설레는 마음으로 열어보니 음..?? 이게 무엇인가!!

    코딩 알고리즘?? '아놔~~~ 너무 흔한 서적이네' 라고 생각했던 착각도 잠시

    응? 게임?? 게임?? 게임~~~~~~~~~~????

    게임으로 코딩 알고리즘을 해석한다고??

    신선한데?

    이제 리뷰 들어가면 말이 상당히 짧아집니다. 오해하지 마세요!!!

    시작합니다!

    DAY 1, 2

    알고리즘과 코딩게임

    알고리즘과 게임


    알고리즘, 너 누구냐?

     

     

    2.jpg

     

    3.jpg

     

    4.jpg

     

    5.jpg

     

    6.jpg

     

     

    이 서적은 표지부터 신선했다.

    먼저 취업한 선배 9인의 인터뷰 수록!

    취업, 이직, 승진 준비생들을 위한 알고리즘 기본 + 코딩 테스트 트레이닝 북

    개발자 레벨업 프로젝트!

    이쪽 분야로 취업하려는 분들께는 너무 와닿고 구입하고 싶은 서적이 아닐까 싶다.

    무엇보다 게임으로 익히는 코딩 알고리즘이라는 제목은 답답하고 재미없을 수도 있는 알고리즘이라는 개념을

    제목 하나로 신선하고 흥미를 유발할 수 있게 지었다. 네이밍 센스 굿!

    자 그러면 본격적으로 코딩 게임에 대하여 살펴보기 전, 1장에 나오는 알고리즘으 개념과 성능에 대해선 무척 중요한 내용이니

    꼭 읽어보자 꼭 꼭!

    열심히 읽다보면 2장에 오게 되는데, 여기서 설명하는 코딩게임은 각종 프로그래밍 퍼즐 문제와 AI 프로그래밍 대회를 통해 코딩 능력을 키우고 프로그래밍 알고리즘 학습에 도움을 주기 위한 플랫폼으로 개발되었다고 한다.

    일단 한눈에 봐도 몰입감이 있어보이고 재미있어 보인다!

    코딩게임의 문제는 대부분 턴제 시뮬레이션 게임 방식이다.

    즉, 바둑을 두는 것처럼 나와 상대방이 서로 턴을 번갈아 가면서 플레이를 하게 된다.

    여기서 상대방이란 컴퓨터 AI 또는 다른 프로그래머가 작성한 코드를 뜻하는데, 다른 사람의 코드와 내 코드가 경쟁을 한다니!!!

    서적에선 파이썬3 버전을 기준으로 진행하는데, 자바, C, C#, 자바 스크립트 등 시장에서 주류로 평가받는 언어로 코딩할 수 있다.

    간단히 작동법을 익힌 후, 예제를 풀어보자. 글고 연습문제도 꼭 풀어보자!

    DAY 3, 4

    실전 알고리즘 I

    코드에 대한 이해도를 높여보자


    발 끝에서 머리 끝까지 이해해보자

     

     

    6.jpg

     

    7.jpg

     

    8.jpg

     

    9.jpg

     

     

    파트2에선 본격적으로 문법과 자료구조에 대한 개념이 나온다.

    재미있다~~ 신선하다~~ 라고 생각할 때 슬슬 어려운 내용이 나온다.

    그래도 괜찮다! 문제를 어떻게 푸는지 상세하게 알려주기 때문에 큰 어려움 없이 개념을 머릿속에 다져가며 코딩할 수 있다.

    그리고 문제를 분석하고 어떤 알고리즘이 필요한지 알려주기 때문에 믿고 맡기면 된다! 내가 할 일은 이해와 공부! 그리고 복습이다.

    기본 제어, 반복문, 배열 등을 거쳐 해시맵, 이진탐색, 재귀, 그래프 등 초급부터 중급까지 좋은 알고리즘에 대한 설명이 나온다.

    그리고 다른 방법으로 접근할 수 있도록 추가 설명이 들어있으니 꼭 참고하길 바란다.

    어렵지 않다! 아니, 복습하지 않으면 어렵다! 무조건 복습! 한번 더! 한번 더!

    DAY 5, 6

    실전 알고리즘 II

    문제를 나누는 가장 합리적인 방식


    더욱 재미있는 알고리즘

     

    10.jpg

     

    11.jpg

     

     

    한가지 느낀 점이 있다면, 이 서적은 어려운 개념을 쉽게 풀어내려고 노력한 모습이 보인다.

    문제의 난이도도 보여주고, 무슨 알고리즘이 필요한지 설명도 해준다. 또한 문제의 핵심을 잘 파악할 수 있게 핵심을 보여준다.

    코드 분석도 해주고 심지어 개념도 설명해주니, 알고리즘을 한번 공부했던 분이라면 충분히 읽고 바로 풀 수 있으리라 생각했다.

    하지만, 가면 갈수록 어려운 것은 사실이다. 그래서 더욱 쉽게 풀어 쓰려고 노력한 것 같다.

    그러나 막상 코드를 보면 짧고 이해가 쉽다. 왜 어렵게 생각했나 싶을 정도일 것이다.

    문제 해결 능력을 길러주고 많은 방향으로 접근할 수 있는 능력을 기를 수 있는 절호의 기회다!

    공부하자!

    DAY 7, 8

    나는 해결사

    고급퀴즈 해결하기


    Talk talk

     

    12.jpg

     

    13.jpg

     

     

     

     

    드디어 고급 수준의 알고리즘 파트다!

    여기선 다익스트라 알고리즘, 원형 큐, 동적 프로그래밍 등 매우 중요한 개념이 나온다.

    마지막에는 동적 프로그래밍을 적용, 문제 분석을 기반으로 하여 성능을 개선한 방법까지 설명한다.

    알고리즘은 문제를 해결하는 효율적인 방법을 알려줍니다.

    하지만 알고리즘이 만능 해결책은 아닙니다.

    무엇보다도 더 중요한 것은 문제의 본질을 제대로 이해하고 파악하는 것입니다.

    단순히 알고리즘을 적용하여 주어진 문제를 푸는 것으로 만족하지 말고 끊임 없이 고민하고 사고하여

    최적의 방법을 찾는 자세를 잃지 않기를 바랍니다.

    DAY 9

    후기 : 먼저 취업한 선배들의 도움되는

    Talk Talk


    살이되는 챕터

    14.jpg

     

     

     

    후기 : 1분후

    나는 마지막 부록 A 챕터를 후기 : 1분후라는 제목을 붙여주고 싶다.

    독자는 이 챕터를 읽고 1분 후에 마인드와 열정이 바뀌어 있을 것이라 생각하기 때문이다.

    좋은 선배들의 채용 프로세스부터, 프로젝트, 자기계발, 코딩테스트 등

    현실적인 부분을 콕 찍어주고 같이 고민해주고 어떤 부분이 도움이 되는지 시원하게 알려준다.

    추가적으로 어떤 것을 준비하고 나는 어떤 마음가짐과 어떤 공부를 해야되는지 길을 잡는 중요한 요소이기 때문에

    중요한 챕터라는 것을 강조하는 건 입이 아플 지경이다.

    맨 뒷 부분에는 문제 풀이에 막힌 사람들을 위한 힌트(수도 코드)도 있으니, 문제가 잘 안풀리는 부분은

    참고하길 바란다.

    오랜만에 재미있는 책을 봤다!

    ★★★★

    리뷰를 마치며!

     

    "<게임으로 익히는 코딩 알고리즘>의 자세한 내용은 한빛미디어 홈페이지에서 확인 하실 수 있습니다."

     
  • ...

    [리뷰] 게임으로 익히는 코딩 알고리즘

     

    <ins class="adsbygoogle myAd1190" data-ad-client="ca-pub-9134477021095729" data-ad-slot="6559875097" data-adsbygoogle-status="done" style="width: 98%; height: 280px;"></ins>

    개요

    본 리뷰는 한빛미디어 출판사 "게임으로 익히는 코딩 알고리즘" 을 읽고 얻은 지식을 정리한 글입니다.

    알고리즘으로 게임하는 세상이 올 줄이야…


    신선하다. 세상이 빠르게 변하고 점점 좋아진다는 건 알았지만 게임으로 알고리즘을 배우는 책이 나오리라고는 생각하지 못한것이 사실이다. 게임이든, 책이든 수단이 뭣이 중요한가 생각이 들기도 했지만 내 안에서는 알고리즘은 왠지 수학과 친밀하고 교과서 같은 분위기에서 벗어나면 안된다는 일종의 프레임이 형성되어 있었던 것 같다.

    책을 펼치자마자 코딩게임 공식 사이트로 바로 들어가 보았다. 링크를 클릭하면 구글 OAuth 덕분에 별도 회원가입 없이 로그인이 가능하다. 구글 계정 등으로 로그인한 후 아래 그림과 같은 화면을 볼 수 있다. 처음이라 복잡해 보이지만 단순히 비교문 if만 알면 쉽게 풀 수 있는 쉬운 문제이다. 빨간색 동그라미 부분의 코드를 작성한 후 PLAY ALL TESTCASES 를 클릭하면 좌측 상단의 멋진 게임실행 화면을 볼 수 있다. 그 후 GOT IT 또는 SUBMIT 버튼을 누르면 결과가 제출하고 메인화면으로 이동하게 된다.
    코딩게임접속화면

    어떤가 꽤 참신하지 않은가? 너무 참신하여 혹시 게임 플랫폼 광고용으로 만든 책은 아닌건지, 혹은 첫인상은 매혹적으로 다가왔는데 실상 알고리즘 핵심은 텅텅 비어있는 껍데기에 불과한 책은 아닌지 의심이 되기 시작했다. 그러나 기우였다. 사실 지금까지 읽은 어떤 알고리즘 책 보다도 쉽게 설명하고, 가독성을 높이기 위한 시각화 처리가 잘 되어있으며, 실전에 필요한 케이스를 다룸으로써 집중력을 높여준다. 아래 그림에서 보듯 주요 알고리즘을 시각적으로 쉽게 설명해 준다. 알고리즘도1알고리즘도2알고리즘도3

    Science에 가까운 흥미를 떨어뜨리는 요소는 실전에 필요한 만큼으로 간결하게 압축하여 설명하였고 대신 이해의 깊이가 필요한 것은 놓치지 않고 다루었다. 알고리즘의 핵심개념과 시간복잡도, 공간복잡도를 알기 쉽게 설명한 후 초보자를 위해 조건문, 반복문, 인코딩과 관련된 기본기를 탄탄하게 해주는 게임부터 시작한다.

    이어 2차원 배열, 큐, 스택, 해시맵 등의 자료구조를 다루고 탐욕 알고리즘, 그래프, 탐색(너비우선, 깊이우선), 재귀, 트리 등 알고리즘에서 가장 중요한 개념도 다룬다. 심지어 다익스트라, 동적프로그래밍까지 다루며 화룡정점을 찍는다. 흥미뿐만 아니라 지식의 깊이도 놓치지 않으려는 노력이 돋보였다.

    구성 측면에서도 학습 능률을 높이기 위한 장치로 더 생각해 봅시다 코너를 두었는데 이 부분의 구성이 가장 마음에 든다. 배운 것을 토대로 나아가야 할 방향을 제시하고 흥미를 유발시켜 준다. 10장의 폭탄의 위치를 찾는 게임의 경우 학부시절 혼자서 만들었던 게임 생각이 났는데 그렇게 고심해서 혼자 만들었던 과정에서 얻은 내공 덕에 지금 먹고 살 수 있다고 생각한다. 여러 Chapter를 거치면서 그런 유익한 시간이 된다면 독자들에게는 큰 보탬이 될 것이다.

    내용의 깊이, 구성, 흥미, 참신함 뭐 하나 떨어지는 구석이 없어서 솔직히 단점을 잘 못찾았다. 잘 만들어진 책이라는 생각이 들었다.

    개발인생 15년. 알고리즘이 중요하다고 느낄 때

    사실 한국 IT개발 시장에서 알고리즘을 쓸 일이 흔치는 않다. 알고리즘은 보통 각 언어들에 Library 형태로 잘 구현이 되어 있으며 잘 구현된 예제를 보며 찍어내기 를 얼마나 빨리 하느냐가 그동안 IT시장에서 바라는 인재상이었기 때문에 쓸 일이 많지 않았다. <del>정말 슬픈현실이다.</del>지금도 크게 다르진 않으나 AI, 딥러닝 분야를 필두로 뭔가 변화가 보이기 시작했다. 보다 수학, 통계학에 가까운 Science를 다룰 줄 아는 인재가 필요해지고 있다.

    • 알고리즘이 뭔데?
      간단히 말해서 문제를 해결하기 위한 (가급적 최선의 방법을 찾는)절차라고 할 수 있다.

    • 그런데 그게 왜 중요한데?
      문제 자체도 해결할 수 있고 시간복잡도, 공간복잡도 등을 예상하여 자원 사용을 효율화하고 연산 속도를 높이는데 큰 도움을 준다.

    • 어차피 컴퓨터로 돌리면 빠른거 아냐?
      이해를 돕기위해 간단한 예시를 들어보겠다. 이 책의 11장에서 다루는 외판원 문제 를 생각해보자.

      외판원 문제? (출처 - 위키백과)
      여러 도시들이 있고 한 도시에서 다른 도시로 이동하는 비용이 모두 주어졌을 때, 모든 도시들을 단 한 번만 방문하고 원래 시작점으로 돌아오는 최소 비용의 이동 순서를 구하는 것이다. 그래프 이론의 용어로 엄밀하게 정의한다면, “각 변에 가중치가 주어진 완전 그래프(weighted complete graph)에서 가장 작은 가중치를 가지는 해밀턴 순환을 구하라”라고 표현할 수 있다.

      • 도시가 2개라면, A->B, B->A [ 2개 ]
      • 도시가 3개라면, A->B->C, A->C->B, B->A->C, B->C->A, C->A->B, C->B->A [ 6개 ]
      • 도시가 10개라면, [ 3,628,800개 ]의 경우의 수가 나온다.

      핵심은 도시가 n개라면 이동 가능한 경로의 수는 n!이 된다는 것이다. 시간 복잡도가 O(n!)가 되는 것이다. A라는 컴퓨터에서 위 알고리즘을 수행하는 데 걸리는 시간 O(1)을 무난하게 1초 라고 가정하자.

      그리고 우주의 나이 를 계산해보자. 지금까지의 관측한 결과를 바탕으로 ΛCDM 모형을 적용하면 우주의 나이는 약 137.98 ± 0.37억 년으로 추정된다. 비교를 위해 단위를 위에서 가정한 단위로 변경해보자.

      1년 = 365일 = 365 * 24시간 = 8,760시간 = 8,760 * 60분
      = 525,600분 = 525,600 * 60초 = 31,536,000초

      이므로,

      우주의 나이 = <math><semantics><mrow><mn>1</mn><mi mathvariant="normal">.</mi><mn>3</mn><mn>7</mn><mn>9</mn><mn>8</mn><mo>ˆ</mo><mn>1</mn><msup><mn>0</mn><mrow><mn>1</mn><mn>0</mn></mrow></msup><mo>ˆ</mo><mn>3</mn><mi mathvariant="normal">.</mi><mn>1</mn><mn>5</mn><mn>3</mn><mn>6</mn><mo>ˆ</mo><mn>1</mn><msup><mn>0</mn><mn>7</mn></msup></mrow><annotation encoding="application/x-tex">1.3798 * 10^{10} * 3.1536 * 10^7</annotation></semantics></math>1.3798ˆ1010ˆ3.1536ˆ107 = 약 <math><semantics><mrow><mn>4</mn><mi mathvariant="normal">.</mi><mn>3</mn><mn>5</mn><mo>ˆ</mo><mn>1</mn><msup><mn>0</mn><mrow><mn>1</mn><mn>7</mn></mrow></msup></mrow><annotation encoding="application/x-tex">4.35 * 10^{17}</annotation></semantics></math>4.35ˆ1017

      가 나온다.

      1. <math><semantics><mrow><mi>O</mi><mo>(</mo><mi>n</mi><mo>!</mo><mo>)</mo><mo>></mo><mi>O</mi><mo>(</mo><msup><mn>2</mn><mi>n</mi></msup><mo>)</mo></mrow><annotation encoding="application/x-tex">O(n!) > O(2^n)</annotation></semantics></math>O(n!)>O(2n)
      2. <math><semantics><mrow><msup><mn>2</mn><mrow><mn>1</mn><mn>0</mn></mrow></msup><mo>=</mo><mn>1</mn><mn>0</mn><mn>2</mn><mn>4</mn><mo>=</mo><mn>1</mn><msup><mn>0</mn><mn>3</mn></msup></mrow><annotation encoding="application/x-tex">2^{10} = 1024 = 10^3</annotation></semantics></math>210=1024=103

      두가지 상황을 어림잡아 17 × 10 /3 = 약 57. 위의 가정하에 대략 57개의 도시만 있으면 A컴퓨터로 우주의 나이 만큼 연산을 수행 해야 결과를 구할 수 있다는 의미가 된다. (예시를 위해 대략적으로 계산하며 생긴 오차가 있을 수 있으니 양해 부탁드린다.)

    • 그리고 언제 또 쓰이는데?
      • 구글 검색 서비스가 2초 이상 걸린다면 고객이 구글을 사용할까? 구글의 가장 큰 자료는 피처수가 10억개에 육박하는 것도 있다. 아무리 서버 컴퓨팅 파워가 버텨준다 쳐도 조금이라도 빠르게 검색 알고리즘을 개발해야 하지 않을까?
      • 모바일에서 딥러닝을 작동시키려면 한정된 자원 을 최대한 활용할 수 있어야 한다.
      • 딥러닝의 연산량 도 마이크로 Sec 차이가 최종 성능에는 엄청난 영향을 미친다.
      • 일반적인 App도 자원을 얼마냐 쓰느냐가 배터리 소모 에 직결된다.
      • 구글이 온도 1도씨라도 줄이기 위해 IDC센터를 폭포 옆으로 이전한 이야기를 들은적이 있는가? 알고리즘이 발열량 에도 영향을 미친다.

    그 뿐만이 아니다. 알고리즘을 사칙연산처럼 쉽게 쓰는 것은 어렵다. 상황에 따라 다르게 쓰일 수 있기 때문이다. 그 개념에 한바탕 푹 빠져든 채로 살아야 숨쉬듯이 자연스럽게 몸에 베는 것이다. 단순히 알고리즘 지식만 얻는 것도 아니다. 자연스레 프로그래밍 스킬도 얻게 되고 사고의 속도에 박차를 가할 수 있는 된다. 그럼에도 알고리즘 공부를 하지 않을 것인가?

    누가 읽어야 하는가?


    • 초보 프로그래머, 컴퓨터 전공 학부 초년생

    • 경력은 많아도 찍어내기 신공에만 탁월한 응용력이 부족한 현직 개발자

    • 기타 프로그래밍에 관심이 있으신 분
      데이터 분석, 경제학 등 프로그래밍을 알면 큰 시너지 성과를 얻을 수 있는 타 학문 전공자에게도 알고리즘 개념의 기초를 다지기에 정말 도움이 되는 책이다.

    책의 구성 및 요약


    이 책은 크게 세 부분으로 구성되며, 각 장에서 다루는 내용을 요약해 보았다.

    • 1. 알고리즘을 위한 최소한의 기초지식(1 ~ 5장)
      • 알고리즘의 핵심 개념과 시간복잡도, 공간복잡도 개념 파악
      • 조건문, 반복문, 인코딩 등 기본기 전수
      • 코딩게임에서 노는 방법
      • 그 외 프로그래밍 기본 문법과 데이터 타입에 익숙해질 수 있다.
    • 2. 핵심 자료구조와 알고리즘(6 ~ 13장)
      • 배열, 큐, 스택, 해시맵 등의 자료구조
      • 탐욕 알고리즘, 그래프, 탐색(너비우선, 깊이우선), 재귀, 트리 등 알고리즘
      • 실전에서 알고리즘을 활용하게 되었을 때 대처하는 자세
    • 3. 고급 알고리즘(14장 ~ 15장, 부록)
      • 다익스트라, 원형큐, 동적프로그래밍 등 고급 알고리즘
      • 취업한 선배들이 알려주는 Tip 및 수도코드 제시

    요약하며…


    예전과는 달리 알고리즘을 그림으로도 공부하고 심지어 게임으로도 공부할 수 있는 멋진 세상이 왔다. 딥러닝 등의 열풍으로 우리나라에서도 찍어내기식 개발자 양산에서 Science에 튼튼한 프로그래머를 요구하는 문화도 다가오고 있다. 한 10년 만 늦게 태어났더라면 얼마나 좋았을까 그런 생각도 해본다.

    위에서 언급한 바와 같이 알고리즘은 컴퓨터 공학의 핵심이자 정수이다. 중요성은 두말할 나위 없고 어떻게 깊이있게 빨리 익히는가가 관건이라 할 수 있는데 시중에 나와있는 어떤 책보다 알고리즘에 흥미롭고 빠르게 적응할 수 있을 것이라 생각한다. 큰 틀만 잡으면 이젠 깊이있는 교과서, 참고서도 두렵지 않을 것이다. 뭐든지 알면 개뿔도 아닌데, 모르면 그렇게 무서울 수가 없다. 이 책으로 알고리즘을 개뿔처럼 보실 수 있게 되시길 바란다.

    <한빛미디어 출판사>

    믿고보는 “한빛미디어 출판사”. IT분야에서 독보적인 양질의 도서를 출판하는 회사입니다. “나는 프로그래머다” 팟캐스트 후원, DevGround2019 행사, 리뷰어 모집, 다양한 학습 지원 등 다양한 분야에서 사회에 공헌하는 개발자와 공생하는 업체입니다. IT분야에 관심있으시다면 한빛미디어의 책으로 후회없는 출발을 하실 수 있습니다.

    한빛미디어 바로가기

    <ins class="adsbygoogle" style="display: block; width: 100%; height: 60px;" data-ad-client="ca-pub-9134477021095729" data-ad-slot="2380354290" data-ad-format="auto" data-adsbygoogle-status="done"><ins id="aswift_0_anchor" style="display:block;border:none;height:60px;margin:0;padding:0;position:relative;visibility:visible;width:714px;background-color:transparent;"><iframe width="714" height="60" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&&s.handlers,h=H&&H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&&d&&(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=s.upd(h,i)}catch(e){}w.location.replace(h)}}" id="aswift_0" name="aswift_0" style="left:0;position:absolute;top:0;border:0px;width:714px;height:60px;"></iframe></ins></ins>

  • 오늘리뷰하고싶은책은코딩알고리즘책이다. 이제목만보았을때는알고리즘전반에관한책이겠군싶었는데, 수식어가좀특이하다. '게임...

    오늘리뷰하고싶은책은코딩알고리즘책이다.

    제목만보았을때는알고리즘전반에관한책이겠군싶었는데, 수식어가특이하다.

    '게임으로익히는' 이라니...

    어떻게게임으로익힐수있을까하는호기심이먼저들었다.

     

    그리고, 책의표지에나온취업과관련된이야기들..

    내가시간날종종하던 codesignal같은사이트를이야기하는것인가하는생각이들었는데.

    책을펼쳐보니맞았다. 그래도내가접해보지못했던사이트를기반으로하였다.

    codingame.com 이라는사이트로코딩알고리즘을익히고, 그것을통해어떻게문제해결능력을향상시킬있는지에대한내용을설명한책이다.



    표지에는그림이없이, 책에서강조하고싶은포인트만담았다.

    현재는괜찮겠지만, 나중에는올드해보이지않을까하는우려가된다.



    초판발행 2019 5 6일자따끈한책이다.(5중순이후에배송받았으니..)

    부제로 '취업, 이직, 승진준비생들을위한알고리즘기본 + 코딩테스트트레이닝' 이라고되어있다.

    코딩테스트연습을위해사이트에서문제풀이를하려고하는데, 가이드가되어줄책으로보인다.




    중요한한마디가있어서발췌를했다. "공부를위한코딩이아닌즐거움을위한코딩의세계에함께빠져들기를바랍니다."

    그저코딩게임이라는사이트에서문제풀이를하는데, 이것을함께즐기고싶은마음에서책을쓰게되었다는것이다. 내용을보니... 쓰는게엄청나게대단한결심보다, 다른사람에게무엇을함께하고나눠줄있을까하는작은마음에서시작하는구나하고깨닫게되었다.




    책은문제를중심으로해결하는과정을담았기때문에, 문제를해결할때마다이러한방법으로구성했다고설명하고있다.

    1) 문제설명

    2) 어떻게풀까제시

    3) 필요한알고리즘을소개

    4) 풀어보는과정에대한이야기(완전한정답공개는별도로수록하여스스로있도록유도)

    5) 생각해볼내용이있다면이야기해

    특히네번째항목이눈에띄었는데, 이런코딩사이트가그렇듯정답이하나가아닌것에유념한듯하다. 그래서정답을적기보다는, 각자의해석에따라다른답을찾아가기를원해서이런구성을한데, 처음에는답답했지만, 해결하는즐거움을독자도누릴있도록배려했다는것을느끼게되었다.




    목차는크게문제의해결에초점을맞추었기때문에, 당연히문제중심으로되어있다.

    챕터구성은다음과같다.

    CH 1. 알고리즘시작하기

    CH 2. 코딩게임살펴보기

    CH 3. THE DESCENT

    CH 4. TEMPERATURES

    CH 5. CHUCK NORRIS

    CH 6. STOCK EXCHANGE LOSSES

    CH 7. THERE IS NO SPOON

    CH 8. WAR

    CH 9. SCRABBLE

    CH10. SHADOWS OF THE KNIGHT

    CH11. THE GIFT

    CH12. DWARFS STANDING ON THE SHOULDERS OF GIANTS

    CH13.SKYNET REVOLUTION

    CH14. TAN NETWORK

    CH15. ROLLER COASTER

     

    1부터는초급, 6부터는중급, 14부터는고급문제로분류하였다.




    문제풀기전에알고리즘문제해결의기본적인요소에대해다뤘다.

    BigO대한설명이중요한데, 사실알고리즘을이제처음다뤄본다면이런개념을모를있기때문이다.

    실제로이런코딩사이트에서는 example 중에상당히많은 element, 혹은수를 input값으로넣게되어있는경우도있다.

    그렇다보면 timeout발생할있기때문에, 발생하지않도록효율적인알고리즘을작성하는것이중요하다.

    BigO cost어떻게되는지, 생각하면서코딩할있어야한다.



    문제에대해서해결하다보니매우답이단순하다. 아마도다른해결방법이라해도크게다르지는않을것이다.

    아마도너무어려워서지레겁먹지않도록도움을주는문제인듯보인다.

    하지만, 이러한쉬운문제라고설명을대충하지않고, 친절하게설명한것이엿보인다.( 10페이지를할애!)




    사실순서도는알고리즘문제를해결하는과정에서매우중요하다. 앞서설명한매우쉬운문제를제외하고서, 어려운문제일수록이러한순서도를작성하지않으면코드가산으로가능성이높다. 역시도알고리즘코딩사이트에서문제를해결하는과정에서, 혹은업무에서알고리즘을반영하는과정에서반드시순서도를작성한다. 그러면생각하고난뒤에코드작성시에는그렇게많은생각이필요없이술술작성할있기때문이다.

    이러한연습이실무에서도도움이되는것을알기때문에필요한과정이라는데에역시동의한다.



    부록으로현업개발자들의인터뷰내용을담았다. 주로채용시의프로세스, 코딩테스트의중요도등에대해인터뷰를하였다. 문제를풀어가는게얼마나중요한지알게하려는것이다. 볼펜을팔려면, 펜이없는사람에게사인을요청한다는이야기처럼, 책을읽어야당위성을책의부록을통해설명하였다. 대단하다!

    실제로도역시중요하다고생각하던터라인터뷰내용들이그저허울좋은이야기가아닌것임을인정한다.



    여러코딩사이트가있으나, 책은코딩게임이라는사이트로, 게임에포커스를맞춘사이트이다.

    그래서재밌는것은레벨이있다(물론다른사이트도레벨이존재하긴한다.)

    그래서책을통해어느정도학습능력을키운, 밖에도많은문제를접하면서레벨을올리고, 그것을향후에취업이나이직시언급하는것도능력을어필하는괜찮은방법이있겠다는생각이들었다.

    어차피아이디를공개하면당사자의코드들을채용담당자가조회할있으니, 깃헙못지않은코딩능력을있는하나의척도가되지않을까싶다. 또한게임에대해서만해당될같다고생각할있으나, 게임에국한되지는않는다. 게임이라는것은하나의 material, 안에서문제를해결하는능력이중요한것이기때문이다. 문제또한영어로되어있기때문에, 영어로문제를읽고해결하는능력또한있는좋은척도가된다고생각한다.

     

    사실이런코딩사이트를주제로책을것은처음인같다. 신선한소재라고생각이들어서, 흥미로웠다.

     

    책을추천하는사람은다음과같다.

    - 취업, 이직, 승진을앞두고있는개발자

    - 알고리즘코딩사이트에흥미를두고싶은개발자혹은학생

     

    장점으로는

    - 새로운소재를이용한

    - 컬러로구성하여눈이즐거움

    - 문제풀이과정을의식의흐름에맞추어진행

    Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", Dotum, 돋움, "Noto Sans KR", "Nanum Gothic", Lato, Helvetica, sans-serif; font-size: 14px;">

    Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", Dotum, 돋움, "Noto Sans KR", "Nanum Gothic", Lato, Helvetica, sans-serif; font-size: 14px;">

     

     

  • ...


    실리콘밸리의 꿈을 꾸고 있나요?

    국내 포털 N사 또는 K사를 목표로 하나요?

    아니면 스타트업에서 성장을 꿈꾸나요?

    뭐 좋습니다. 하지만 그 전에, 무엇을 준비해야 하는지 알고는 있을 겁니다. 물론 그렇겠죠.

     

    설마... 모른다구요?

    흠... 뭐 그럴수도 있어요. 세상에는 다양한 회사들도 있으니까요. 하지만 여기서는 대다수의 회사들의 면접에서 큰 비중을 차지하는 코딩 인터뷰! 이 코딩 인터뷰의 핵심인 알고리즘에 대한 책을 하나 소개합니다.

     

    솔직히 저는 학부 때 자료구조나 알고리즘 성적이 꽤 좋았어요. 하지만 그때 뿐이었죠. 그리고 코딩 인터뷰를 직접 겪어보고 나서는 뭔가 다르다는 것을 알았죠. 그저 지식을 안다고 다가 아니었어요.

    다시 공부해보자고 학부시절 책을 꺼내보니 너무나 딱딱해서 못보겠는 거에요. 혹시 시중에 쉽게 다룬 책이 없나 보면 너무 쉽게 다루고 있었죠. 물론 문제풀이 사이트도 있었어요. 그런데 몇 번 해보고 잘 안하게 되더군요. 그렇게 시간이 지나 이 책을 만나게 되었어요.

    게임으로 알고리즘을 익힌다고? 구미가 당겼죠. 그렇게 이 책을 보게 되었어요. 그렇게 코딩 게임과의 인연이 시작되었습니다.

    <p style="text-align: left;">
    </p> <p style="text-align: left;">   </p>

    <p style="text-align: left;">
    </p> <p style="text-align: center;"> </p>

     

     

     

    영어? 걱정하지 마세요. 어차피 개발자들은 영어와 친해야하고 책은 한글로 친절하게 설명이 되어있으니까요.

    난이도? 걱정하지 마세요. 이 책의 대상 독자는 프로그래밍을 배우는 학생 및 초급 개발자이니까요.

     

    이 책을 통해서 우리는 자료구조와 알고리즘재미있게 배우게 될겁니다. 정말입니다. 그리고 이 책에서는

     

    먼저 취업한 선배 9인의 인터뷰 수록

    국내외 10년에서 많게는 20년까지의 경력을 가지고 계신 선배님 들입니다. 그리고 이 책에서 나오는 문제풀이의 이해를 돕기위한 수도코드도 있답니다. 이 책과 그리고 코딩 게임과 함께라면 투자한 시간과 노력이 아깝지 않으리라 생각됩니다. :-)

     

    그런데...

    도대체 알고리즘이 왜 필요한데?

    정말 실무에 그렇게 중요한거야?

    중요한 것은 문제를 해결하는 방법!

     

    처음에는 그저 보기에 잘 돌아가는 서비스를 만들 수도 있겠지요. 그런데 시간이 흐르고 경력이 쌓여도 계속 제자리라면 뭔가 아쉽지 않을까요? 자기 코드의 성능과 품질을 높이려는 욕심은 분명 자신의 성장에 도움이 될거에요. 그리고 무엇보다 대다수의 회사들이 인재들을 채용하기 위해 코딩테스트를 한다는 것. 이것이 중요하겠죠?


교환/반품안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품안내
반품/교환방법

[판매자 페이지>취소/반품관리>반품요청] 접수
또는 [1:1상담>반품/교환/환불], 고객센터 (1544-1900)

※ 중고도서의 경우 재고가 한정되어 있으므로 교환이 불가할 수 있으며, 해당 상품의 경우 상품에 대한 책임은 판매자에게 있으며 교환/반품 접수 전에 반드시 판매자와 사전 협의를 하여주시기 바랍니다.

반품/교환가능 기간

변심반품의 경우 수령 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

※ 중고도서의 경우 판매자와 사전의 협의하여주신 후 교환/반품 접수가 가능합니다.

반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유

소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우(단지 확인을 위한 포장 훼손은 제외)

소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 화장품, 식품, 가전제품 등

복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)

디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우

시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품이므로 단순 변심 및 착오로 인한 취소/교환/반품 시 해외주문 반품/취소 수수료 고객 부담 (해외주문 반품/취소 수수료는 판매정가의 20%를 적용

2) 중고도서 : 반품/교환접수없이 반송하거나 우편으로 접수되어 상품 확인이 어려운 경우

소비자 피해보상
환불지연에 따른 배상

- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

판매자
책책북북
판매등급
특급셀러
판매자구분
일반
구매만족도
5점 만점에 5점
평균 출고일 안내
2일 이내
품절 통보율 안내
27%

이 책의 e| 오디오

바로가기

최근 본 상품