코딩마법서 C/C++ 3: BRONZE 세트 (코딩테스트와 알고리즘을 위한 C/C++ | 전 2권)

코딩마법서 C/C++ 3: BRONZE 세트 (코딩테스트와 알고리즘을 위한 C/C++ | 전 2권)

$49.14
Description
코딩마법서 C/C++ 3권 BRONZE는 2권 IRON 이후의 다음 버전의 책입니다. 코딩마법서 시리즈는 코딩테스트와 알고리즘을 위한 기초과정부터 고급과정까지 진행하는 시리즈 교재입니다. 이번 책은 최종 목표 6권 중에서 3번째 책에 해당하는 BRONZE 버전입니다. 1권에서는 일차원 배열과 기초 자료구조와 알고리즘을 진행하였고, 2권에서는 다차원 배열, 함수, 포인터 그리고 또다시 기초 알고리즘과 자료구조를 진행하였습니다. 3권에서는 이제부터는 본격적으로 C++로 넘어와 C++에서의 입력과 출력 그리고 STL을 소개하면서 정렬, string, pair, tuple, 스택(Stack), 큐(Queue), 재귀 호출(Recursive Function Call), 동적 계획법(Dynamic Programming)을 만나게 됩니다. 이 책은 1, 2권을 학습한 사람이거나 또는 과거에 학습한 내용을 복습하고자 하는 사람에게 권합니다. 이제 1권, 2권, 3권을 학습했다면 코딩대회에 나가기 위한 기본 과정은 어느 정도 준비되었다고 할 수 있습니다.

여러 질문 중에 이 책은 "C언어인가?" 아니면 "C++인가?"라는 질문이 있는데 1권 STONE과 2권 IRON은 입출력만 C언어이고 나머지 모든 문법은 C++을 따릅니다. 그리고 3권 BRONZE부터는 C++에서만 지원하는 STL(Standard Template Library)을 사용하기 때문에 입력과 출력도 C++ 문법을 따르고 있습니다. 또한 코딩마법서는 오일러TV에서는 동영상 강의를 제공하고 오일러OJ(OJ, Online Judge)에서는 학습 문제를 제공하기 때문에 학습과 재미 두 마리 토끼를 모두 잡을 수 있습니다. 앞으로도 오일러BOOKS는 좋은 교재를 선보이도록 하겠습니다. 많은 성원과 응원 부탁드립니다.
저자

오일러,김건,김성은

코딩마법서저자오일러는지난20년간정보올림피아드(KOI)를전문으로교육해왔습니다.1,000명이상의영재고,과학고,초중고학생들을교육해오면서정보올림피아드(KOI)국가대표와수많은입상자(정보올림피아드대상7명,금상18명,은상144명,동상159명,장려101명등)를배출하였습니다.2019년에는소프트웨어특기자전형으로카이스트에5명을입학시켰습니다.삼성에서3년동안S직군들을대상으로삼성SWCertification자격시험을교육하였으며현재는유튜브채널〈오일러TV〉에서코딩실력을극대화할코딩비법을전수하기위해서매진하고있습니다.

〈오일러가지도학학생수상내역〉
영재고·과학고합격:127명
국제정보올림피아드(IOI):금메달3,은메달3,동메달1
아시아태평양정보올림피아드(APIO):금메달3,동메달4
국제정보올림피아드계절학교합격생:69명
한국정보올림피아드(2차대회,구전국대회):대상7,금상18,은상144,동상159,장려101
넥슨프로그래밍챌린지(NYPC):대상1,금상1,동상4,특별상1
이화여대/화웨이전국여고생프로그래밍경시대회:최우수상1,장려3
서강대전국고등학생알고리즘대회:대상1,금상1,은상1,동상1
국민대알고리즘경진대회:은상1,동상1,장려2
경희대전국고등학생알고리즘경진대회:금상1,은상1,동상1
한국정보과학경시대회(KYIO):대상1,금상3,은상6,동상10,장려7
ICT-AWARDKOREA알고리즘프로그래밍대회:대상5,금상2,은상1,동상9,장려7

목차

Chapter00.인트로(Intro)
-이책을집필하며..
-이렇게공부하세요.
-온라인저지오일러OJhttps://euleroj.io
-유튜브채널오일러TV

Chapter01.오일러온라인저지(오일러OJ)
01.1오일러OJ회원가입하기EulerOnlineJudge
01.2로그인후소스코드제출하기
01.3온라인채점시정답으로인정되지않는경우
01.4온라인채점시정답으로인정되는경우
01.5본인이제출한소스코드확인하기
01.6그밖의메뉴소개하기
01.7OpenChallenge

Chapter02.C++에서의입력과출력
02.1C++의탄생및버전
02.2C++에서의입력및출력Input&Output
02.3필드폭과채우기width&fill
02.4유효자릿수와소수점자릿수precision&fixed
02.5연습문제Exercise
오일러OJ2055LongMultiplication

Chapter03.이름공간namespace
03.1이름공간namespace
03.2이름공간(namespace)의분리
03.3중첩된이름공간(namespace)과별칭지정
03.4익명의이름공간Anonymousnamespace
03.5using지시문
03.6usingnamespacestd
03.7연습문제Exercise
오일러OJ4392로미오와줄리엣

Chapter04.참과거짓bool
04.1bool자료형true&false
04.2입력및함수의반환값
04.3연습문제Exercise
오일러OJ3178괄호
오일러OJ4034무한개의객실을갖춘호텔

Chapter05.자료형추론auto
05.1자료형추론auto
05.2함수의반환자료형추론
05.3연습문제Exercise
오일러OJ4285꿀벌마야

Chapter06.STL과정렬알고리즘std::sort()
06.1표준템플릿라이브러리(STL)StandardTemplateLibrary
06.2알고리즘(Algorithm)
06.3정렬알고리즘std::sort()
06.4비교함수를만들어정렬하기
06.5람다함수(LambdaFunction)를만들어정렬하기
06.6함수객체(FunctionObject)를이용해서정렬하기
06.7std::stable_sort()
06.8std::is_sorted()
06.9std::partial_sort()
06.10std::nth_element()
06.11연습문제Exercise
오일러OJ3015키
오일러OJ3034질문과답변
오일러OJ3035책꽂이
오일러OJ3090무도회댄스
오일러OJ3113유행

Chapter07.요소를수정하지않는순차작업Non-modifyingSequenceOperations
07.1std::find()
07.2std::find_if()
07.3std::count()
07.4std::count_if()
07.5std::equal()
07.6연습문제Exercise
오일러OJ4085오일러와친척들
오일러OJ5072세값의정렬

Chapter08.범위기반for루프range-forloop
08.1범위기반for루프range-forloop
08.2std::for_each()
08.3std::for_each_n()
08.4std::transform()
08.5연습문제Exercise
오일러OJ2124체스판만들기

Chapter09.요소를수정하는순차작업ModifyingSequenceOperations
09.1std::copy(),std::copy_backward(),std::copy_if(),std::copy_n()
09.2std::fill(),std::fill_n()
09.3std::generate(),std::generate_n()
09.4std::swap(),std::swap_ranges()
09.5std::remove(),std::remove_if(),std::remove_copy(),std::remove_copy_if()
09.6std::replace(),std::replace_if(),std::replace_copy(),std::replace_copy_if()
09.7std::rotate(),std::rotate_copy()
09.8std::reverse(),std::reverse_copy()
09.9std::unique(),std::unique_copy()
09.10연습문제Exercise
오일러OJ3165다섯개의나무조각

Chapter10.최소/최대작업Minimum/MaximumOperations
10.1std::min(),std:min_element()
10.2std::max(),std:max_element()
10.3연습문제Exercise
오일러OJ1160색칠공부
오일러OJ5030오일러의블록

Chapter11.string컨테이너
11.1컨테이너(container)
11.2std::string컨테이너
11.3std::string컨테이너와포인터
11.4std::string요소접근
11.5std::string컨테이너와begin(),end()
11.6std::string컨테이너의연산과할당
11.7std::string컨테이너의길이및용량
11.8std::string컨테이너의삽입및삭제
11.9std::string컨테이너의검색및추출
11.10std::string컨테이너의복사및교환과비교
11.11std::string컨테이너와함수
11.12연습문제Exercise
오일러OJ1053문자열길이
오일러OJ1114너무긴단어
오일러OJ1057문자열소트
오일러OJ1054문자찾기Ⅰ
오일러OJ1055문자찾기Ⅱ
오일러OJ1056문자찾기Ⅲ
오일러OJ1058콤마를삽입하라!
오일러OJ1092잘못된철자
오일러OJ1079대소문자구분
오일러OJ1064왕국의언어
오일러OJ1060KOIIOI

Chapter12.기초테스트ⅢTraining
12.1기초테스트Ⅲ
오일러OJ2018NoBrain
오일러OJ2047Palindrome
오일러OJ2052암호해독Ⅰ
오일러OJ2122캠브리지
오일러OJ2125오일러TV
오일러OJ2135욕심쟁이

Chapter13.pair컨테이너
13.1std::pair컨테이너
13.2std::pair컨테이너와정렬
13.3연습문제Exercise
오일러OJ1090Best5
오일러OJ2056숫자문자열
오일러OJ3036화성여행
오일러OJ3094친척집방문하기

Chapter14.tuple컨테이너
14.1std::tuple컨테이너
14.2std::tuple컨테이너와정렬
14.3연습문제Exercise
오일러OJ3037마라톤기록
오일러OJ3112장난감쇼핑
오일러OJ4306왕국선거

Chapter15.stack컨테이너
15.1컨테이너어댑터containeradapter
15.2스택stack
15.3std::stack컨테이너stackcontainer
15.4연습문제Exercise
오일러OJ3016도넛가게Ⅰ
오일러OJ3018기차교차로
오일러OJ4056레이저절단
오일러OJ4458에디터
오일러OJ5001BadHair
오일러OJ5014삐까
오일러OJ5266CitySkyline

Chapter16.queue컨테이너
16.1큐queue
16.2std::queue컨테이너queuecontainer
16.3연습문제Exercise
오일러OJ3017도넛가게Ⅱ
오일러OJ3019요세푸스(Josephus)
오일러OJ4156요세푸스의사촌
오일러OJ4208전력위기
오일러OJ4232보조금지급
오일러OJ5274인터넷차단

Chapter17.재귀호출RecursiveFunctionCall
17.1재귀호출과스택(Stack)메모리
17.2총합구하기
17.3팩토리얼Factorial
17.4최대공약수GreatestCommonDivisor
17.5진법변환BaseConversion
17.6연습문제Exercise
오일러OJ3006N까지의총합
오일러OJ3007진법변환

Chapter18.메모이제이션Memoization
18.1피보나치수열FibonacciSequence
18.2메모이제이션Memoization
18.3연습문제Exercise
오일러OJ3008피보나치수열

Chapter19.순열Permutation
19.1중복을허용하는순열
19.2중복을허용하지않는순열
19.3연습문제Exercise
오일러OJ3009아이스크림나라
오일러OJ3010선착순
오일러OJ3014N자리2진수
오일러OJ3013대회결과예상하기Ⅰ
오일러OJ3068지그재그숫자

Chapter20.조합Combination
20.1중복을허용하는조합
20.2중복을허용하지않는조합
20.3연습문제Exercise
오일러OJ3011숫자고르기
오일러OJ3012퀴디치대회
오일러OJ3067Lotto
오일러OJ3084미지의행성탐사
오일러OJ4005부분집합(Element)

Chapter21.재귀호출과분기한정BranchandBound
21.1수의덧셈조합
21.2개선된수의덧셈조합
21.3재귀호출과분기한정BranchandBound
21.4연습문제Exercise
오일러OJ3069수의덧셈조합
오일러OJ3070부분집합의합(SumofSubsetsProblem)
오일러OJ3071일곱난쟁이

Chapter22.원순열CircularPermutation
2

출판사 서평

WHY코딩의목적
과거에는경력이많은사람이대우를받던시대가있었습니다.지금은과거와다르게컴퓨터과학의발전속도가지수곡선을그리며빠르게발전하고있습니다.따라서많은경력보다는변화에유연하게대응할수있는능력이선호됩니다.자신이지금까지경험한활동뿐만아니라“나는창의적인인재다”라는것을보여준다면훨씬더많은기회가주어지고있습니다.대학과기업은창의적인인재를선발하기위해서코딩을선발의도구로이용하고있습니다.그래서코딩이시대의흐름에발맞춰창의적인인재를증명할수있는척도가되었습니다.SW특기자전형을주도하고있는카이스트,고려대,서강대,한양대그리고구글,삼성,카카오,네이버등에서인재선발의도구로코딩을많이활용하고있습니다.이제는전공을불문하고코딩은선택이아니라필수인것입니다.코로나이후변화하는언택트사회속인재가되기위해서는코딩이꼭!필요한시대가되었습니다.

WHEN언제부터코딩을배워야하는가?
최소한초등수학정도를마쳤다면코딩공부에도전해보라고추천하고싶습니다.코딩도조기교육이중요합니다.김연아선수는6살에스케이트를처음으로신었고,박세리선수는초등학교때부터골프채를잡았으며,손흥민선수도초등학교때부터전지훈련을다녔고,빌게이츠,스티브잡스,마크저커버그도아주어렸을때부터열정적으로코딩을했다고합니다.코딩교육도마찬가지로언제부터시작했는지에따라프리미어리그에서뛸수있는지,코리안리그에서뛸수있는지,아니면조기축구에서라도뛸수있는지가결정될수있습니다.예전에는코딩공부가자신의적성에맞는지고민했다면,요즘은조기교육의여부로많은친구들이고민을하고있습니다.하지만이제는늦게시작했다고걱정하지않아도될것같습니다.〈코딩마법서〉가여러분들의든든한지원군이되어줄것입니다.

What무엇을배워야하는가?
우리가우선적으로배워야하는것은알고리즘을동반한문제해결전략을배워야합니다.여기서문제해결전략이란?PS(ProblemSolving)라고하는데주어진창의적인문제들을코딩을통해서해결하는것을의미합니다.그래서학생,취준생,직장인들이배워야하는것은무엇보다도PS공부가우선되어야합니다.한국에서는이것을정보라고하고미국에서는ComputerScience라고합니다.