이미 소장하고 있다면 판매해 보세요.
|
_이 책을 집필하며..
_이렇게 공부 하세요. _온라인저지 오일러OJ https://euleroj.io _유튜브 채널 오일러TV _목차 Chapter 01. 오일러 온라인 저지(오일러OJ) 01.1 오일러OJ 회원 가입하기 Euler Online Judge 01.2 로그인 후 소스 코드 제출하기 01.3 온라인 채점 시 정답으로 인정되지 않는 경우 01.4 온라인 채점 시 정답으로 인정되는 경우 01.5 본인이 제출한 소스 코드 확인하기 01.6 그 밖의 메뉴 소개하기 01.7 Open Challenge Chapter 02. 3항 연산자 Ternary Operator 02.1 3항 연산자 02.2 3항 연산자와 대입 02.3 연습문제 Exercise 오일러OJ 1089 컨테스트 시간 오일러OJ 2002 최솟값과 최댓값과 절댓값 Chapter 03. switch case문 03.1 switch case문 03.2 switch case문과 break 03.3 연습문제 Exercise Chapter 04. 반올림과 올림 그리고 내림과 버림 04.1 소수점 첫째 자리에서 반올림과 올림 그리고 내림과 버림 04.2 소수점 둘째 자리에서 반올림과 올림 그리고 내림과 버림 04.3 일의 자리에서 반올림과 올림 그리고 내림과 버림 04.4 연습문제 Exercise 오일러OJ 1029 반올림과 버림 오일러OJ 1065 학급 평균 오일러OJ 1080 소득세 오일러OJ 1083 은행 이자 Chapter 05. 등수 구하기 05.1 등수 구하기 05.2 연습문제 Exercise 오일러OJ 1035 등수 구하기 오일러OJ 1151 몬스터 Chapter 06. 이차원 배열 Two Dimensional Array 06.1 이차원 배열의 선언 06.2 이차원 배열의 선언과 동시에 초기화 06.3 이차원 배열의 출력 06.4 이차원 배열의 입력 및 출력 06.5 보초 Guard 06.6 연습문제 Exercise 오일러OJ 1152 UFO 착륙 오일러OJ 1040 배열 변환 오일러OJ 2098 토지 작업 Chapter 07. 기초테스트II Training 07.1 기초테스트Ⅱ 오일러OJ 1075 삼각형 오일러OJ 2066 행과 열 오일러OJ 2075 탁구 시합 Chapter 08. 다차원 배열 Multi Dimensional Array 08.1 삼차원 배열의 선언 08.2 삼차원 배열의 선언과 동시에 초기화 08.3 삼차원 배열의 출력 08.4 삼차원 배열의 입력 및 출력 08.5 연습문제 Exercise 오일러OJ 2003 삼차원 배열 Chapter 09. 정수의 표현 방법 integer 09.1 2진수, 8진수, 10진수, 16진수 bin, oct, dec, hex 09.2 2진수를 10진수로 나타내기 8421 code 09.3 2진수를 16진수로 나타내기 09.4 비트와 바이트 bit & byte 09.5 정수의 표현 integer 09.6 정수형 자료형 char & int & long & long long 09.7 연습문제 Exercise 오일러OJ 1071 용감한 전사 오일러OJ 1113 보도블록 오일러OJ 2046 Super long sums Chapter 10. 실수의 표현 방법 real number 10.1 실수의 표현 real numbers 10.2 실수형 자료형 float & double & long double 10.3 지수 표기법 Exponential Notation 10.4 실수 연산의 위험성 10.5 sizeof 연산자 10.6 연습문제 Exercise 오일러OJ 1074 Table 오일러OJ 1129 평균 오일러OJ 2086 수학 문제 오일러OJ 4171 택시 기하학 Chapter 11. 비트 연산자 Bit Operator 11.1 비트 단위 AND 연산자 AND & 11.2 비트 단위 OR 연산자 OR | 11.3 비트 단위 XOR 연산자 eXclusive OR ^ 11.4 비트 단위 NOT 연산자 NOT ~ 11.5 비트 단위 왼쪽 시프트 연산자 LEFT SHIFT 〈〈 11.6 비트 단위 오른쪽 시프트 연산자 RIGHT SHIFT 〉〉 11.7 언더플로우와 오버플로우 underflow & overflow 11.8 최댓값과 최솟값 11.9 연습문제 Exercise 오일러OJ 2024 식량 탈곡기 오일러OJ 2050 Round Numbers Chapter 12. 나머지 Mod 12.1 덧셈과 나머지 Modular 12.2 곱셈과 나머지 Modular 12.3 연습문제 Exercise 오일러OJ 2020 100으로 나눈 나머지 오일러OJ 2019 달팽이 Chapter 13. 함수 Function 13.1 함수란? function 13.2 함수의 호출과 리턴 call & return 13.3 함수의 구조 13.4 반환값 없고, 전달인자 없고 13.5 반환값 없고, 전달인자 있고 13.6 반환값 있고, 전달인자 없고 13.7 반환 값 있고, 전달인자 있고 13.8 함수의 정의와 원형 선언 Declaration 13.9 값을 반환하지 않는 return 13.10 연습문제 Exercise 오일러OJ 1101 Perfection 오일러OJ 1105 직사각형 오일러OJ 2130 자리 올림 Chapter 14. 지역변수 Local Variable 14.1 지역변수 Local Variable 14.2 명령 블록에서의 지역변수(Local Variable) 14.3 매개변수도 지역변수이다 14.4 블록 구간 Block Scope 14.5 연습문제 Exercise 오일러OJ 2100 Super Pals Number 오일러OJ 2068 소인수 분해 오일러OJ 2048 디지털 곱셈 오일러OJ 2084 Easy Problem Chapter 15. 전역변수와 정적변수 Global Variable & Static Variable 15.1 전역변수 Global Variable 15.2 전역변수와 이름 숨기기 Global Variable & Name Hiding 15.3 정적변수 Static Variable 15.4 레지스터 변수 Register Variable 15.5 메모리 영역 Storage Class 15.6 연습문제 Exercise 오일러OJ 2028 불꽃 놀이 오일러OJ 2037 동맹 휴업 오일러OJ 2036 같은 자리 수 오일러OJ 2136 바우와우 Chapter 16. 함수 오버로딩 Function Overloading 16.1 함수 오버로딩 Function Overloading 16.2 매개변수의 디폴트 값 Default Parameters 16.3 연습문제 Exercise 오일러OJ 2021 정사각형 설계 오일러OJ 2049 RADAR Chapter 17. 매크로 함수와 인라인 함수 Macro Function & Inline Function 17.1 전처리기와 매크로 Preprocessor & Macro 17.2 매크로 함수 Function like Macro 17.3 인라인 함수 Inline Function 17.4 연습문제 Exercise 오일러OJ 1124 잔디 깎기 오일러OJ 2067 Digit Sums Chapter 18. 변수와 상수 Variable & Constant 18.1 변수의 잘못된 사용 18.2 변수의 올바른 사용 18.3 리터럴 상수 literal Constant 18.4 기호적 상수 Symbolic Constant 18.5 연습문제 Exercise 오일러OJ 1081 동전 교환 오일러OJ 2088 Prime Cuts Chapter 19. 최대공약수와 최소공배수 Gcd & Lcm 19.1 최대공약수 Greatest Common Divisor 19.2 유클리드 알고리즘 Euclidean Algorithm 19.3 최소공배수 Least Common Multiple 19.4 연습문제 Exercise 오일러OJ 1108 초등학교 5학년 오일러OJ 2141 GCD의 합 오일러OJ 4053 N개의 최대공약수와 최소공배수 오일러OJ 4067 바이오리듬 Chapter 20. 프로그램 설계 20.1 프로그램 설계 20.2 연습문제 Exercise 오일러OJ 2116 Jack 오일러OJ 2111 제비 뽑기Ⅰ 오일러OJ 2110 바나나 오일러OJ 2139 방 배정하기 오일러OJ 2081 호그와트 도서관 Chapter 21. 포인터 변수 Pointer Variable 21.1 메모리의 이해 21.2 포인터 변수 선언 Pointer Variable 21.3 포인터 접근 21.4 널 포인터 NULL Pointer 21.5 포인터 매개변수 Pointer Parameter 21.6 연습문제 Exercise 오일러OJ 2012 왕이 운세 오일러OJ 2030 오일러 Chapter 22. 포인터와 배열 Pointer & Array 22.1 포인터 연산 Pointer Arithmeti 22.2 배열의 이름 22.3 포인터와 배열 Pointer & Array 22.4 연습문제 Exercise 오일러OJ 2029 난수 발생 오일러OJ 2063 Life Cycle 오일러OJ 2032 수 이어가기 오일러OJ 2054 가장 큰 소인수 Chapter 23. 함수와 배열 Function & Array 23.1 배열을 함수에 전달하기 23.2 배열을 함수에 전달하여 포인터 변수로 받기 23.3 두 개의 포인터로 배열을 함수에 전달하기 23.4 연습문제 Exercise 오일러OJ 1122 데이터베이스 오일러OJ 2006 미인 선발대회 Chapter 24. const와 포인터 const & Pointer 24.1 상수 포인터 const Pointer 24.2 상수에 대한 포인터 Pointer to const 24.3 상수에 대한 상수 포인터 const Pointer to const 24.4 연습문제 Exercise 오일러OJ 2008 Book Club 오일러OJ 2014 통나무의 개수 Chapter 25. 문자열과 배열 String & Array 25.1 문자열 String 25.2 배열을 이용해서 문자열 선언하기 25.3 포인터 상수를 이용해서 문자열 선언하기 25.4 리터럴 상수(Literal Constant)의 재사용 25.5 문자열 입력받기 25.6 연습문제 Exercise 오일러OJ 1051 Names 오일러OJ 1062 삼각형 출력하기 오일러OJ 1069 ABC 오일러OJ 1120 브릿지 오일러OJ 2009 숫자 전환 오일러OJ 2101 숫자 추측 게임 오일러OJ 2114 극장 Chapter 26. 문자열 관련 함수 26.1 strlen() string length 26.2 strcpy(), strncpy() string copy, string n copy 26.3 strcmp(), strncmp() string compare, string n compare 26.4 strcat(), strncat() string concatenation, string n concatenation 26.5 포인터를 반환하는 함수들 26.6 sprintf() string print format 26.7 연습문제 Exercise 오일러OJ 1052 아스키코드(Ascii Code) 오일러OJ 1059 UFO 탑승 오일러OJ 1091 반복되는 문자열 오일러OJ 1067 짝수인지 홀수인지 오일러OJ 1109 30의 배수 오일러OJ 2005 문자열 순환 오일러OJ 2076 Counting Black 오일러OJ 2108 문자열 함수 인코딩 Chapter 27. 참조 변수 Reference Variable 27.1 참조 변수 reference variable 27.2 참조 변수와 함수 reference variable & function 27.3 참조 변수와 const reference variable & const 27.4 참조 변수와 포인터 reference variable & pointer 27.5 참조 변수와 배열 reference variable & array 27.6 연습문제 Exercise 오일러OJ 2118 Trick 오일러OJ 2078 Look and Say 오일러OJ 2082 ID Number 오일러OJ 2072 ISBN 오일러OJ 2045 공통된 변경 문자열 Chapter 28. 인자 전달 Passing Arguments 28.1 값에 의한 호출 Call by Value 28.2 주소에 의한 호출 Call by Address 28.3 참조에 의한 호출 Call by Reference 28.4 연습문제 Exercise 오일러OJ 1088 시저 암호 오일러OJ 2074 Wiggle Numbers 오일러OJ 2060 Palindromes 오일러OJ 2091 스피너 퍼즐 오일러OJ 2039 매직키 테트리스 오일러OJ 2128 피터팬체 Chapter 29. 방향 검색 Direction Check 29.1 좌표축과 2차원 배열의 비교 29.2 4방향 검색 4 direction check 29.3 8방향 검색 8 direction check 29.4 나이트의 이동 Knight Moving 29.5 입체 도형에서의 6방향 검색 6 direction check 29.6 연습문제 Exercise 오일러OJ 3002 달팽이 테이블 오일러OJ 3066 나선형 숫자 오일러OJ 3004 나선형 미로 오일러OJ 3064 고소 공포증 오일러OJ 3065 지뢰찾기 게임 오일러OJ 3100 파파야 정글 오일러OJ 3117 연못의 깊이 오일러OJ 4018 Bingo 오일러OJ 4110 오목Ⅱ Chapter 30. 포함과 배제의 원리 Inclusion-Exclusion Principle 30.1 2차원 배열의 누적합 30.2 포함과 배제의 원리 Inclusion-Exclusion Principle 30.3 2차원 배열에서 직사각형 구간의 합 구하기 30.4 연습문제 Exercise 오일러OJ 2011 마법 학교 오일러OJ 4112 Super PaintballⅠ 오일러OJ 4023 최대의 감나무 |
김선욱
오일러의 다른 상품
김건의 다른 상품
김성은의 다른 상품
|
첫 번째 학생부터 차례대로 75점, 90점, 100점, 90점, 85점을 받았다고 하면,
① 첫 번째 학생 75점보다 더 높은 점수를 받은 학생은 4명이므로 첫 번째 학생은 5등이 된다. ② 두 번째 학생 90점보다 더 높은 점수를 받은 학생은 100점 한 명이므로 2등이 된다. ③ 세 번째 학생 100점보다 더 높은 점수를 받은 학생이 없으므로 1등이 된다. ④ 네 번째 학생 90점보다 높은 점수를 받은 학생은 100점 한 명이므로 공동 2등이 된다. ⑤ 다섯 번째 학생 85점보다 높은 점수를 받은 학생은 세 명이므로 4등이 된다. --- p.78 「Chapter05 등수 구하기」 중에서 프로그램이 실행되면 처음으로 찾게 되는 부분은 main()이다. main()의 시작부터 마지막까지를 모두 main() 함수라고 부른다. 프로그램의 진행 순서는 폭포수처럼 main() 함수의 처음부터 마지막까지 차례로 실행되는 하향식으로 진행된다. 이렇게 프로그램이 진행되는 중간에 어떤 특정한 작업을 하기 위해서 따로 분기하여 처리하고 돌아와야 하거나 아니면 어떤 반복적인 작업을 처리해야 할 때가 있는데 이럴 때 함수를 만들어서 사용하게 되면 가독성이 좋아질 뿐만 아니라 문제 해결과 유지 보수에 탁월한 도움이 된다. --- p.186 「Chapter13, 함수 Function」 중에서 유클리드 알고리즘(Euclidean Algorithm) 또는 유클리드 호제법은 2개의 자연수의 최대공약수를 구하는 알고리즘이다. 유클리드(Euclid, BC330? - BC275?)가 기원전 300년경에 쓴 『원론』 제7권에 나오는 가장 오래된 알고리즘이다. 두 개의 자연수 “A와 B에 대해서 A를 B로 나눈 나머지를 R이라고 하면(단, A≥B) A와 B의 최대공약수는 B와 R의 최대공약수와 같다”는 것이다. 이 성질을 이용하여 B를 R로 나눈 나머지 R1을 구하고, 다시 R을 R1으로 나눈 나머지 R2를 구하고 다시 R1을 R2로 나눈 나머지를 구하는 과정을 반복하다가 나머지가 0이 되었을 때 이때 나누는 수 제수가 A와 B의 최대공약수가 된다는 알고리즘이다. --- p.282 「Chapter19, 최대공약수와 최소공배수 GCD & LCM」 중에서 체스판에서 나이트(Knight)가 ★의 위치에 놓여있다면 다음과 같은 위치에 놓인 말들을 잡을 수 있다. 2차원 공간이 주어지고 ★의 위치를 a[y][x]라고 하자. 1시 방향부터 시계 방향의 순서대로 y좌표의 방향 데이터를 배열 dy에 담으면 dy[8] = { -2, -1, 1, 2, 2, 1, -1, -2 }가 되고 x좌표의 방향 데이터를 배열 dx에 담으면 dx[8] = { 1, 2, 2, 1, -1, -2, -2, -1 }이 된다. 이것을 순서대로 정리하면 다음과 같다. --- p.449 「Chapter 29, 방향 검색 Direction Check」 중에서 |
|
Why 코딩의 목적
과거에는 경력이 많은 사람이 대우를 받던 시대가 있었습니다. 지금은 과거와 다르게 컴퓨터 과학의 발전 속도가 지수 곡선을 그리며 빠르게 발전하고 있습니다. 따라서 많은 경력보다는 변화에 유연하게 대응할 수 있는 능력이 선호됩니다. 자신이 지금까지 경험한 활동뿐만 아니라 “나는 창의적인 인재다”라는 것을 보여준다면 훨씬 더 많은 기회가 주어지고 있습니다. 대학과 기업은 창의적인 인재를 선발하기 위해서 코딩을 선발의 도구로 이용하고 있습니다. 그래서 코딩이 시대의 흐름에 발맞춰 창의적인 인재를 증명할 수 있는 척도가 되었습니다. SW특기자 전형을 주도하고 있는 카이스트, 고려대, 서강대, 한양대 그리고 구글, 삼성, 카카오, 네이버 등에서 인재 선발의 도구로 코딩을 많이 활용하고 있습니다. 이제는 전공을 불문하고 코딩은 선택이 아니라 필수인 것입니다. 코로나 이후 변화하는 언택트 사회 속 인재가 되기 위해서는 코딩이 꼭! 필요한 시대가 되었습니다. WHEN 언제부터 코딩을 배워야 하는가? 최소한 초등수학 정도를 마쳤다면 코딩 공부에 도전해 보라고 추천하고 싶습니다. 코딩도 조기교육이 중요합니다. 김연아 선수는 6살에 스케이트를 처음으로 신었고, 박세리 선수는 초등학교 때부터 골프채를 잡았으며, 손흥민 선수도 초등학교 때부터 전지훈련을 다녔고, 빌 게이츠, 스티브 잡스, 마크 저커버그도 아주 어렸을 때부터 열정적으로 코딩을 했다고 합니다. 코딩교육도 마찬가지로 언제부터 시작했는지에 따라 프리미어 리그에서 뛸 수 있는지, 코리안 리그에서 뛸 수 있는지, 아니면 조기 축구에서라도 뛸 수 있는지가 결정될 수 있습니다. 예전에는 코딩 공부가 자신의 적성에 맞는지 고민했다면, 요즘은 조기교육의 여부로 많은 친구들이 고민을 하고 있습니다. 하지만 이제는 늦게 시작했다고 걱정하지 않아도 될 것 같습니다. 〈코딩마법서〉가 여러분들의 든든한 지원군이 되어줄 것입니다. WHAT 무엇을 배워야 하는가? 우리가 우선적으로 배워야 하는 것은 알고리즘을 동반한 문제 해결 전략을 배워야 합니다. 여기서 문제 해결 전략이란? PS(Problem Solving)라고 하는데 주어진 창의적인 문제들을 코딩을 통해서 해결하는 것을 의미합니다. 그래서 학생, 취준생, 직장인들이 배워야 하는 것은 무엇보다도 PS 공부가 우선되어야 합니다. 한국에서는 이것을 정보라고 하고 미국에서는 Computer Science라고 합니다. 코딩의 실력을 극대화 할 오일러TV 유튜브 채널 (오일러TV)을 통해 저자가 직접 책 내용을 단계별로 설명해 주면서 코딩 입문자의 고민을 덜어주고 체계적인 실력을 다질 수 있는 영상 서비스를 제공합니다. 코딩을 게임처럼 오일러OJ euleroj.io 국내에 흔하게 볼 수 있는 문제들이 아닌, 저자가 20년 동안 교육한 문제 자료들이 오일러OJ 사이트에 구축되어 있습니다. 이 저저사이트를 통해 독자에게 단계별 문제풀이 할 수 있는 컨텐츠를 제공합니다. 사이트주소 : https://euleroj.io/ 문법만 공부해서는 코딩테스트 관문을 통과 할 수 없다 언택트 시대 초중고학생, 대학생, 취업준비생, 직장인들이 알아야 할 알짜배기 알고리즘 문제해결력(ASP:Algorithm Problem Solving)에 중점을 두고 기초문법, 기초수학, 기초자료구조 이론과 문제들을 수록합니다. 코딩마법서 시리즈만의 특징 기초부터 심화까지 모두 6단계 (STONE → IRON→ BRONZE → SILVER → GOLD → PLATINUM)로 나누어지며, 순차적으로 출간 예정입니다. 이번 책은 코딩마법서 두 번째 IRON 버전으로 개념서와 해법서로 구성되어 있습니다. 기타 : 도서 소개 동영상 링크 등 작가 인터뷰 : https://www.youtube.com/watch?v=7Go50kHhTME 공동저자 / 카이스트 전삭학부 김건, 이화여대 컴퓨터공학 김성은 시중에 나와 있는 프로그래밍 서적은 기본 문법을 설명하는 서적이 대부분입니다. 그런데 막상 프로그래밍 문법을 공부한 후 오일러OJ(https://euleroj.io)와 같은 프로그래밍 저지 사이트(Programming Judge Site)에서 문제를 풀어보면 상당한 당혹감을 가질 수 있습니다. 이러한 문제를 해결하려면 문법뿐만 아니라 수학과 자료구조 및 알고리즘도 공부해야 하는데, 일반적인 비전공자가 프로그래밍 문법의 지식만으로 접근하기에는 한계가 있기 때문입니다. 그런데 이 책은 프로그래밍 문법뿐만 아니라 코딩을 위한 기초수학 그리고 자료구조와 알고리즘을 체계적으로 공부할 수 있는 뛰어난 학습서라고 생각합니다. 우리가 학창 시절에 한 번쯤 공부했던 수학적인 내용들과 프로그래밍의 결합은 전 세계 어떠한 프로그래밍 서적에서도 볼 수 없었던 참신한 내용입니다. 프로그래밍을 공부해야 하는 사람이면 한 번쯤 꼭! 봐야 하는 멋진 바이블 시리즈가 될 것으로 확신합니다. |