확장메뉴
주요메뉴


소득공제 PDF
미리보기 파트너샵보기 공유하기
eBook

알고리즘 문제 풀이 전략

[ PDF ]
첫번째 리뷰어가 되어주세요
정가
23,800
판매가
23,800(종이책 정가 대비 30% 할인)
구매 시 참고사항
{ Html.RenderPartial("Sections/BaseInfoSection/DeliveryInfo", Model); }
한 눈에 보는 YES24 단독 선출간
매월 1~7일 디지털머니 충전 시 보너스머니 2배 적립
★90일 대여점★ 이렇게 싸도 대여?
[READ NOW] 2022년 9월호
eBook 전종 10%할인+5%적립 무한발급 슈퍼쿠폰
9월 전사
쇼핑혜택
1 2 3 4 5

품목정보

품목정보
출간일 2016년 10월 04일
이용안내 ?
  •  배송 없이 구매 후 바로 읽기
  •  이용기간 제한없음
  •  TTS 불가능
  •  저작권 보호를 위해 인쇄 기능 제공 안함
지원기기 크레마, PC(윈도우), 아이폰, 아이패드, 안드로이드폰, 안드로이드패드, 전자책단말기(일부 기기 사용 불가), PC(Mac)
파일/용량 PDF(DRM) | 6.78MB ?
글자 수/ 페이지 수 약 725쪽?
ISBN13 9788968489570
KC인증

이 상품의 태그

소개 책소개 보이기/감추기

취업, 승진, 대회 준비 등에 대비해 프로그래머의 역량을 키우는 데 필요한 알고리즘 문제 풀이 전략을 알려준다. 1부에서는 프로그래머가 꼭 알아야 할 주요 알고리즘 이론을 그림과 코드로 함께 분석하면서 알고리즘의 개념을 익힌다. 2부에서는 국내외에서 많이 소개된 알고리즘 문제를 제시한 후, 문제 분석 브레인 스토밍, 정답 코드 제시, 코드 해설을 통해서 알고리즘 문제를 해결하는 데 꼭 필요한 내용을 소개한다. 실력 향상에 고민하는 프로그래머는 물론, 현재 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 = 4, y = 6
____두 번째 재귀 호출: x = 6, y = 4
____세 번째 재귀 호출: x = 4, y = 2
____네 번째 재귀 호출: x = 2, y = 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 Studio 2013의 실행
__02 Visual Studio 2013을 사용한 테스트 코드 빌드와 실행
____새로운 프로젝트의 생성
____새로운 소스 코드의 생성
____코드 입력과 빌드 및 실행
__03 실행과 디버깅
____input.txt 파일의 저장 위치
____콘솔에서 실행 파일 입력해 실행하기

저자 소개 관련자료 보이기/감추기

저 자 소 개
지은이 조중필
미국 대학에서 수학을 전공하고 여러 스타트업을 거치며 실리콘밸리에서 교육용 앱 개발 회사를 설립했다. 한국을 비롯한 아시아 국가의 초·중·고등학교 학생들이 주입식 교육으로 인해 창의성이 부족함을 안타까워하면서 글로벌 인재로 성장하는 데 필요한 새로운 교육법을 개발하려고 불철주야 고민 중이다.

지은이 한현상
컴퓨터 공학을 전공하고 아이폰 열풍이 한창이던 2010년, 몇몇 친구들과 의기투합해 교육용 앱 개발 회사를 설립했으나 실패한 경험이 있다. 현재는 IT 업계 프로그래밍 교육 분야의 팀장이다.

지은이 이주호
영문학과 재학 중에 C를 접한 후 전공 선택이 잘못되었음을 깨닫고 바로 컴퓨터 공학으로 진로를 변경했다. 현재는 프리랜서 개발자로 미래를 개척 중이다. 과거의 자신처럼 진로 선택이 잘못된 젊은이가 없도록 올바른 진로를 선택할 수 있는 커리어 컨설턴트가 되고 싶은 야망이 있다.

출판사 리뷰 출판사 리뷰 보이기/감추기

이 책의 특징과 장점

-. 프로그래머에게 꼭 필요한 주요 알고리즘 개념을 그림과 코드를 통해서 설명
-. Level 1~4의 알고리즘 난이도, Easy, Mid, Hard의 코딩 난이도로 제시하는 수준별 알고리즘 문제
-. 문제 해결의 핵심을 제시하는 브레인 스토밍
-. C 프로그래밍 기반

어떤 독자를 위한 책인가?

-. 취업, 승진, 대회 입상을 목표로 알고리즘 테스트를 준비하는 프로그래머
-. C를 공부한 후 알고리즘 이해도를 높이려는 대학생

알고리즘 문제 해결 능력은 선택이 아닌 필수다!
소프트웨어 역량 테스트를 준비하는 프로그래머의 필독서!

초급 프로그래머가 고급 프로그래머로 성장하는 과정에서 겪는 가장 큰 어려움은 알고리즘 문제를 이해하고 해결하는 능력이다. 이런 이유로 외국의 많은 IT 기업은 프로그래머 채용 시 코딩 테스트 중심의 면접 과정을 진행해 알고리즘 이해도를 확인하고 있다. 최근 국내 기업에서도 프로그래머의 채용 과정 중 하나로 4~5단계 레벨로 구분하는 알고리즘 테스트를 꼭 포함시키고 있다.

이 책은 이러한 추세에 맞춰 다양한 알고리즘 문제를 해결하는 데 꼭 필요한 40여 가지의 알고리즘 문제 풀이 전략을 소개한다. 프로그래머로서의 실력 향상는 물론이고 프로그래밍 대회 입상, 취업, 승진, 이직 등 프로그래머의 이력 관리에 관심이 있다면 꼭 이 책을 읽고 고급 프로그래머가 될 수 있기를 희망한다.
뒤로 앞으로 맨위로 aniAlarm