본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

알고리즘 문제 풀이 전략 상세페이지

컴퓨터/IT 개발/프로그래밍

알고리즘 문제 풀이 전략

프로그래머의 취업, 이직을 결정하는
소장종이책 정가34,000
전자책 정가30%23,800
판매가23,800
알고리즘 문제 풀이 전략 표지 이미지

알고리즘 문제 풀이 전략작품 소개

<알고리즘 문제 풀이 전략>

알고리즘 문제 해결 능력은 선택이 아닌 필수다!
소프트웨어 역량 테스트를 준비하는 프로그래머의 필독서!
초급 프로그래머가 고급 프로그래머로 성장하는 과정에서 겪는 가장 큰 어려움은 알고리즘 문제를 이해하고 해결하는 능력이다. 이런 이유로 외국의 많은 IT 기업은 프로그래머 채용 시 코딩 테스트 중심의 면접 과정을 진행해 알고리즘 이해도를 확인하고 있다. 최근 국내 기업에서도 프로그래머의 채용 과정 중 하나로 4~5단계 레벨로 구분하는 알고리즘 테스트를 꼭 포함시키고 있다.
이 책은 이러한 추세에 맞춰 다양한 알고리즘 문제를 해결하는 데 꼭 필요한 40여 가지의 알고리즘 문제 풀이 전략을 소개한다. 프로그래머로서의 실력 향상은 물론이고 취업, 이직, 승진, 알고리즘 대회 입상 등 프로그래머의 이력 관리에 관심이 있다면 꼭 이 책을 읽고 고급 프로그래머가 될 수 있기를 희망한다.



저자 소개

지은이_조중필

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


지은이_한현상

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


지은이_이주호

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

목차

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 지그재그 숫자 출력하기 LEVEL 1 Hard
전체 총 몇 행을 출력하는지 결정하는 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 파일의 저장 위치
콘솔에서 실행 파일 입력해 실행하기


리뷰

구매자 별점

1.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

3명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전