스크랩

구간

알고리즘 문제 풀이 전략 [2쇄수정본] 프로그래머의 취업, 이직을 결정하는

조중필, 한현상, 이주호 저 | 한빛미디어 | 2016년 04월

미리보기 북트리

정가
$68.00
판매가
$49.57 (27%↓) 최저가 보상
적립금
$0.99 (2%P)
출고예상일
2026년 10월 09일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788968482700 / 724쪽 183 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

출판사 서평 이 책의 특징과 장점 -. 프로그래머에게 꼭 필요한 주요 알고리즘 개념을 그림과 코드를 통해서 설명한다. -. Level 1~4의 알고리즘 난이도, Easy, Mid, Hard의 코딩 난이도를 고려하여 알고리즘 문제?를 수준별로 구분했다. -. 문제 해결의 단초를 제시하는 ‘브레인 스토밍’ 코너를 통해 스스로 역량을 키우게 유도한다. -. C 프로그래밍 기반이다. 어떤 독자를 위한 책인가? -. 취업, 이직, 승진, 알고리즘 대회 입상을 목표로 알고리즘 테스트를 준비하는 프로그래머 -. C를 공부한 후 알고리즘... 이 책의 특징과 장점 -. 프로그래머에게 꼭 필요한 주요 알고리즘 개념을 그림과 코드를 통해서 설명한다. -. Level 1~4의 알고리즘 난이도, Easy, Mid, Hard의 코딩 난이도를 고려하여 알고리즘 문제를 수준별로 구분했다. -. 문제 해결의 단초를 제시하는 ‘브레인 스토밍’ 코너를 통해 스스로 역량을 키우게 유도한다. -. C 프로그래밍 기반이다. 어떤 독자를 위한 책인가? -. 취업, 이직, 승진, 알고리즘 대회 입상을 목표로 알고리즘 테스트를 준비하는 프로그래머 -. C를 공부한 후 알고리즘 이해도를 높이려는 학생 도서 특징 알고리즘 문제 해결 능력은 선택이 아닌 필수다! 소프트웨어 역량 테스트를 준비하는 프로그래머의 필독서! 초급 프로그래머가 고급 프로그래머로 성장하는 과정에서 겪는 가장 큰 어려움은 알고리즘 문제를 이해하고 해결하는 능력이다. 이런 이유로 외국의 많은 IT 기업은 프로그래머 채용 시 코딩 테스트 중심의 면접 과정을 진행해 알고리즘 이해도를 확인하고 있다. 최근 국내 기업에서도 프로그래머의 채용 과정 중 하나로 4~5단계 레벨로 구분하는 알고리즘 테스트를 꼭 포함시키고 있다. 이 책은 이러한 추세에 맞춰 다양한 알고리즘 문제를 해결하는 데 꼭 필요한 40여 가지의 알고리즘 문제 풀이 전략을 소개한다. 프로그래머로서의 실력 향상은 물론이고 취업, 이직, 승진, 알고리즘 대회 입상 등 프로그래머의 이력 관리에 관심이 있다면 꼭 이 책을 읽고 고급 프로그래머가 될 수 있기를 희망한다.

저자 소개

미국 대학에서 수학을 전공하고 여러 스타트업을 거치며 실리콘밸리에서 교육용 앱 개발 회사를 설립했다. 한국을 비롯한 아시아 국가의 초•중•고등학교 학생들이 주입식 교육으로 인해 창의성이 부족함을 안타까워하면서 글로벌 인재로 성장하는 데 필요한 새로운 교육법을 개발하려고 불철주야 고민 중이다.
컴퓨터 공학을 전공하고 아이폰 열풍이 한창이던 2010년, 몇몇 친구들과 의기투합해 교육용 앱 개발 회사를 설립했으나 실패한 경험이 있다. 현재는 IT 업계 프로그래밍 교육 분야의 팀장이다.
영문학과 재학 중에 C를 접한 후 전공 선택이 잘못되었음을 깨닫고 바로 컴퓨터 공학으로 진로를 변경했다. 현재는 프리랜서 개발자로 미래를 개척 중이다. 과거의 자신처럼 진로 선택이 잘못된 젊은이가 없도록 올바른 진로를 선택할 수 있는 커리어 컨설턴트가 되고 싶은 야망이 있다.

머리말

이 책은 이 세상에 존재하는 모든 알고리즘을 설명한 책은 아니다. 그럴 필요도 없지만 불가능하기도 하기 때문이다. 하지만 1장부터 마지막 장까지 일관적으로 지키려는 한 가지 원칙은 다양한 문제들을 머릿속에서 체계적으로 구조화해 프로그래밍 코드로 풀어나갈 수 있게끔 도와주자는 것이다. 잘 알려지지 않은 신기한 알고리즘 한두 개를 아는 것보다 주어진 상황에 맞게 본인 스스로가 코딩해서 풀어낼 수 있는 능력을 갖추는 것이 실무에서는 훨씬 큰 힘이 되기 때문이다.

 

이러한 이유로 국내와 외국의 많은 IT 기업에서 소프트웨어 개발자를 채용할 때 반드시 짚고 넘어가야 하는 관문으로 소프트웨어 시험 혹은 알고리즘 시험을 채택하고 있다. 제한된 시간과 환경에서 주어진 문제와 상황을 이해하고 그 문제를 해결하는 데 가장 최적화된 코딩을 할 수 있는 사람들을 선별해서 채용하길 원하기 때문이다.

 

이 책은 프로그래머의 실력 향상, 취업, 승진 등을 준비하는 사람들에게 조금이나마 도움이 되었으면 하는 소망을 담고 집필했다. 여러분에게 이 책이 작은 도움이 될 수 있기를 바란다.

 

책 속에서

 

목차

목차
Part I. 꼭 알아야 하는 필수 알고리즘
CHAPTER 1 알고리즘의 역할
__01 알고리즘의 정의
____알고리즘의 조건
__02 알고리즘을 왜 평가해야 하는가?
____알고리즘을 평가해야 하는 이유
____알고리즘 평?가의 세 가지 요소
__03 수학적 배경
____알고리즘의 수학적 표기 방법
____빅오 표기법의 종류
____반복문의 시그마 연산 표현
__04 분석의 대상
____무엇을 분석할 것인가?
____반복문은 최대 반복 횟수로 계산한다
____중첩된 반목문은 중첩문 각각의 최대 반복 횟수를 곱해서 계산한다
____반복문이 떨어져서 2개 이상 있는 경우는 그중 가장 큰 값으로 계산한다
____if-else문은 알고리즘 성능에 영향을 미치지 않는다
____재귀 호출은 풀어서 계산한다
__05 알고리즘의 분석과 최적화
____프로그램의 수학적 분석 예
____프로그램의 최적화 예
__06 정리
CHAPTER 2 알고리즘을 배우기 전에 알아야 할 다섯 가지
__01 메모리와 주소의 관계
__02 자료형과 배열
____메모리와 자료형
____메모리와 배열
__03 배열의 응용
____함수와 일차원 배열의 사용
____다차원 배열
__04 포인터
____포인터는 왜 사용할까?
____포인터의 사용 형식
__05 배열과 포인터의 사용
____배열과 포인터의 기본적인 조합 방법
____배열과 포인터의 차이점
____배열을 사용하는 포인터를 함수의 매개변수로 사용
__06 포인터 배열과 포인터 연산
____포인터 배열이란?
____포인터 연산의 이해
__07 포인터의 활용: Call by reference
__08 정리
CHAPTER 3 기본적인 자료구조
__01 링크드 리스트란?
__02 단일 링크드 리스트의 삽입과 삭제
____단일 링크드 리스트의 특징
____단일 링크드 리스트의 삽입 알고리즘
____단일 링크드 리스트의 삭제 알고리즘
__03 이중 링크드 리스트
____이중 링크드 리스트
____이중 링크드 리스트의 삽입과 삭제 알고리즘
__04 스택의 개념과 알고리즘
____스택의 개념
____스택의 구현
____푸시와 팝
__05 큐의 개념과 알고리즘
____큐의 개념
____배열을 사용한 큐의 구현
____링크드 리스트를 사용한 큐의 구현
__06 정리
CHAPTER 4 트리
__01 트리의 개념과 주요 용어
____트리의 개념
____트리 관련 주요 용어
____이진 트리
____트리의 순회 알고리즘
__02 전위 순회 알고리즘
__03 중위 순회 알고리즘
____재귀 호출을 사용한 중위 순회
____스택을 사용한 중위 순회
__04 후위 순회 알고리즘
____재귀 호출을 사용한 후위 순회
____스택을 사용한 후위 순회
____스택을 사용하는 순회 알고리즘의 비교
__05 단계 순회 알고리즘
__06 정리
CHAPTER 5 트리의 응용
__01 AVL 트리
____이진 트리의 문제점
____AVL 트리
____AVL 트리의 구성
__02 2-3 트리
____AVL 트리의 문제점을 해결하는 2-3 트리
____2-3 트리의 구현
____2-3 트리의 변형
__03 정리
CHAPTER 6 기본 정렬 알고리즘
__01 다양한 정렬 알고리즘
__02 선택 정렬 알고리즘
____선택 정렬 알고리즘의 개념
____선택 정렬 알고리즘의 분석
__03 삽입 정렬 알고리즘
____삽입 정렬 알고리즘의 개념
____삽입 정렬 알고리즘의 분석
__04 버블 정렬 알고리즘
____버블 정렬 알고리즘의 개념
____버블 정렬 알고리즘의 분석
__05 셸 정렬 알고리즘
____셸 정렬 알고리즘의 개념
____셸 정렬 알고리즘의 분석
06 정리
CHAPTER 7 향상된 정렬 알고리즘
__01 퀵 정렬 알고리즘
____퀵 정렬 알고리즘의 개념
____퀵 정렬 알고리즘의 분석
__02 기수 정렬 알고리즘
____기수 정렬 알고리즘의 개념
____기수 정렬 알고리즘의 분석
__03 병합 정렬 알고리즘
____병합 정렬 알고리즘의 개념
____병합 정렬 알고리즘의 분석
__04 힙 정렬 알고리즘
____힙 정렬 알고리즘의 개념
____힙 정렬 알고리즘의 분석
__05 정리
CHAPTER 8 이진 검색 알고리즘
__01 이진 검색 알고리즘
____이진 검색 알고리즘의 개념
__02 이진 검색 트리 알고리즘
____이진 검색 트리 알고리즘의 특성
____이진 검색 트리 알고리즘의 데이터 삽입
____이진 검색 트리 알고리즘의 데이터 삭제
__03 정리
CHAPTER 9 해시 알고리즘
__01 해시 알고리즘
____키-주소 검색 알고리즘
____키-매핑 검색 알고리즘
__02 해시 알고리즘의 문제점
____해시 알고리즘의 데이터 중복 문제
__03 해시 알고리즘의 문제 해결 방법
____해시 알고리즘에서 발생되는 문제들
__04 정리
Part II. 실전 알고리즘 문제 해결
CHAPTER 10 몸풀기 알고리즘 문제
__01 10진수와 16진수 변환 프로그램
__02 숫자 맞추기
____임의의 숫자를 생성하는 방법
____프로그램이 계속 실행되도록 하는 방법
__03 최대공약수 구하기
____임의의 숫자의 약수를 구하는 방법
____임의의 두 숫자에 공통으로 해당하는 약수를 구하는 방법
____임의의 두 숫자에 공통으로 해당하는 약수 중 최댓값을 선택하는 방법
__04 피보나치 수열
__05 임의의 숫자 배수의 개수와 합 구하기
__06 소수 구하기
____소수를 구하는 기능
____한 행에 값 8개씩 맞춰 출력하는 기능
__07 지그재그 숫자 출력하기
____전체 총 몇 행을 출력하는지 결정하는 for문
____출력할 행이 홀수인 경우의 for문
____출력할 행이 짝수인 경우의 for문
__08 재귀 호출로 최대공약수 구하기
____첫 번째 재귀 호출: x \u003d 4, y \u003d 6
____두 번째 재귀 호출: x \u003d 6, y \u003d 4
____세 번째 재귀 호출: x \u003d 4, y \u003d 2
____네 번째 재귀 호출: x \u003d 2, y \u003d 0
____최종 결과
__09 정리
CHAPTER 11 기본기를 다지는 알고리즘 문제
__01 탐욕 알고리즘
__02 세포의 자기 증식 프로젝트
__03 재난 관리 프로젝트
__04 블록 쌓기 게임
CHAPTER 12 수학식을 이용하는 알고리즘 I
__01 분할 정복 알고리즘의 특징
__02 하노이의 탑
__03 기약 분수 구하기
__04 동전 옮기기
__05 숫자 순환
CHAPTER 13 수학식을 이용하는 알고리즘 II
__01 탐욕 알고리즘의 특징
__02 앞뒤가 같은 제곱
__03 연 소수
__04 최대 연속 부분합
__05 화물차 배치
__06 대칭 행렬 구하기
CHAPTER 14 동적 계획법의 기본 개념
__01 동적 계획법의 특징
__02 계단 오르기 게임
__03 타일 바르기
__04 목장 울타리 만들기
__05 한빛스키장 리프트 가격
__06 포인트 스키 활강
CHAPTER 15 동적 계획법 응용
__01 동적 계획법의 전형적인 문제
__02 한빛 패스트푸드
__03 시장의 도시 방문기
__04 신입 사원 선발
__05 해커의 도전
__06 배낭 여행
CHAPTER 16 맵을 이용하는 알고리즘
__01 백 트래킹 알고리즘의 개념
__02 생화학 폭탄
__03 아파트 단지
__04 피곤한 배달부
__05 체스
__06 배수로 공사
CHAPTER 17 출제 빈도가 높은 알고리즘 문제
__01 세뱃돈 만들기
__02 한빛캐피탈의 스타트업 투자
__03 외양간 고치기
__04 영역의 크기
__05 식인종과 연구원
부록 Visual Studio 2013의 설치 및 설정 방법
__01 Visual Studio 2013의 다운로드와 설치
____Visual Studio 웹사이트
____Visual Studio 2013의 설치
____Visual Stu

top