이미지 확대/축소가 가능합니다.

닫기


세계 프로그래밍 대회 기출문제로 익히는 파이썬 프로그래밍
프로그래밍 평가 사이트를 활용한 최고의 코딩 학습


프로그래밍 경진대회에 출제된 흥미로운 문제들을 풀어가는 과정에서 파이썬 핵심 개념과 프로그래밍 기술을 배운다. DMOJ, Timus, USACO 프로그래밍 평가 사이트에 실린 문제들로 구성되어 있어, 웹사이트에 솔루션을 제출한 후 그에 대한 피드백을 빠르게 제공받을 수 있다. 컴퓨터는 올바른 명령만 주어지면 거의 모든 문제를 해결할 수 있고, 여기에 필요한 것이 프로그래밍이다. 이 책을 펼치면 초보자도 바로 파이썬 프로그램을 만들어 볼 수 있다. 기출문제 설명부터 시작해 문제 해결에 필요한 개념을 배워 나가는 과정에서 파이썬 언어의 특징을 학습하는 동시에 컴퓨팅 사고력을 기를 수 있다.



감사의 말
역자의 말

CHAPTER 0. 들어가기 전에

CHAPTER 1. 시작하기

문제 #1: Word Count(단어 수 세기)
문제 #2: Cone Volume(원뿔의 부피)

CHAPTER 2. 조건문

문제 #3: Winning Team(누가 이길까?)
문제 #4: Telemarketers(텔레마케터)

CHAPTER 3. 반복문: 한정 루프

문제 #5: Three Cups(야바위)
문제 #6: Occupied Spaces(주차 공간)
문제 #7: Data Plan(데이터 요금제)

CHAPTER 4. 반복문: 무한 루프

문제 #8: Slot Machines(슬롯머신)
문제 #9: Song Playlist(노래 재생목록)
문제 #10: Secret Sentence(비밀 문장)

CHAPTER 5. 리스트를 사용하여 값 구성하기

문제 #11: Village Neighborhood(이웃 마을)
문제 #12: School Trip(수학여행)
문제 #13: Baker Bonus(매출 보너스)

CHAPTER 6. 함수를 사용한 프로그램 디자인

문제 #14: Card Game(카드 게임)
문제 #15: Action Figures(액션 피규어)

CHAPTER 7. 파일 읽기와 쓰기

문제 #16: Essay Formatting(에세이 형식)
문제 #17: Farm Seeding(파종)

CHAPTER 8. 집합(Set)과 딕셔너리(Dictionary)를 사용하여 값 구성하기

문제 #18: Email Addresses(이메일 주소)
문제 #19: Common Words(자주 쓰는 단어)
문제 #20: Cities and States(주와 주에 속한 도시들)

CHAPTER 9. 완전 탐색(Complete-Search)으로 알고리즘 디자인하기

문제 #21: Lifeguards(인명구조원)
문제 #22: Ski Hills(스키 언덕)
문제 #23: Cow BaseBall(소들의 야구)

CHAPTER 10. Big-O와 프로그램의 효율성(성능)

문제 #24: Longest Scarf(가장 긴 스카프)
문제 #25: Ribbon Painting(리본 페인팅)

후기
부록 - 문제 크레딧


상세 이미지 1



| 학습할 내용

· 파이썬 코드 실행, 문자열 작업, 변수 사용
· 결정을 내리는 프로그램 작성
· while 루프, for 루프를 이용해 효율적인 코드 작성
· 집합(set), 리스트(list), 딕셔너리(dictionary)로 데이터 구성, 정렬, 검색
· 함수와 하향식 설계를 사용한 프로그램 디자인
· 완전 탐색 알고리즘과 Big O 표기법으로 더욱 효율적인 코드 작성

중간중간에 삽입된 객관식 ‘개념 확인’ 문제는 각각의 코드 조각이 어떤 식으로 작동하는지 생각해 보게 만들고, 각 장 마지막에 제시된 다양한 연습문제는 지금까지 배운 개념을 더욱 깊이 탐구할 수 있도록 유도합니다.

* 이 책에 수록된 25가지 기출문제 상세 코드와 개념 강화를 위한 연습문제 풀이 코드는 [영진닷컴 홈페이지]에서 다운로드할 수 있습니다.

코딩 시작 단계에서부터 기반을 단단히 다지고 싶은 입문자부터
독학으로 프로그래밍 경진대회, 코딩 테스트를 준비 중인 분들을 위한 책입니다.


프로그래밍은 컴퓨터를 사용해 문제를 해결하는 것으로, 핵심은 ‘컴퓨팅 사고력’에 있습니다. 그러나 많은 교육이 프로그래밍 언어 위주로 진행되고 있으며, 그로 인해 문법만 어렵게 익힌 채 실제로 활용하는 방법에 대해서는 문외한인 경우가 많습니다.

〈코딩 테스트로 시작하는 파이썬 프로그래밍〉은 단순 문법 교재가 아니라 프로그래머의 눈으로 문제를 바라보고 분석하는 방법까지 학습하는 책입니다. 컴퓨터 과학 교육 전문가인 저자는 누구나 쉽게 배울 수 있는 파이썬 언어를 가지고 문제를 효율적으로 해결해 나가는 방법을 설명합니다. 시험이 끝나자마자 잊히는 단편적인 지식이 아니라, 오랫동안 지속될 프로그래밍 기반을 다질 수 있는 내용이 담겨 있습니다. 고품질의, 다양한 문제를 접하며 프로그래머로서의 성장 기반을 다지고 싶은 분들께 이 책을 권합니다.

1장. 시작하기
파이썬으로 문제들을 풀기 전에 배워야 할 몇 가지 기본적인 개념이 있습니다. 1장에서는 파이썬 코드 입문, 문자열과 숫자 다루기, 변수 사용, 입력 읽기 및 출력 쓰기를 포함한 개념을 배웁니다.

2장. 조건문
2장에서는 특정 조건이 참인지 거짓인지에 따라 프로그램이 수행할 작업을 결정할 수 있도록 하는 if 문에 대해 알아봅니다.

3장. 반복문: 한정 루프
많은 프로그램이 수행할 작업이 남아 있는 한 계속 실행됩니다. 3장에서는 작업이 완료될 때까지 프로그램이 입력들을 처리할 수 있는 for 루프에 대해 알아봅니다.

4장. 반복문: 무한 루프
종종 우리는 프로그램이 특정 동작을 몇 번이나 반복해야 하는지 미리 알지 못합니다. for 루프는 이러한 종류의 반복에 적합하지 않습니다. 4장에서는 특정 조건이 참인 동안 코드를 반복할 수 있는 while 루프에 대해 알아봅니다.

5장. 리스트를 사용하여 값 구성하기
파이썬의 리스트를 사용하면 하나의 이름을 사용하여 일련의 데이터 목록을 참조할 수 있습니다. 데이터를 리스트로 만들면 파이썬이 제공하는 강력한 리스트 연산(예: 정렬 및 검색)을 사용할 수 있습니다. 5장에서는 리스트에 대한 모든 것을 배웁니다.

6장. 함수를 사용한 프로그램 디자인
코드가 많은 큰 프로그램은 잘 정리하지 않으면 다루기가 힘들어질 수 있습니다. 6장에서는 작고 독립적인 일련의 코드들로 구성된 프로그램을 설계하는 데 도움이 되는 함수에 대해 배울 것입니다. 함수를 사용하면 훨씬 더 읽기 쉽고 수정이 용이한 프로그램을 만들 수 있습니다. 여기에서는 함수를 가지고 프로그램을 설계하는 접근 방식 중 하나인 하향식 설계에 대해서도 배울 것입니다.

7장. 파일 읽기 및 쓰기
파일은 프로그램에 데이터를 제공하거나 프로그램에서 데이터를 얻을 때 편리합니다. 7장에서는 파일에서 데이터를 읽고 쓰는 방법에 대해 알아봅니다.

8장. 집합(Set)과 딕셔너리(Dictionary)를 사용하여 값 구성하기
점점 더 복잡한 문제를 해결하기 시작하면 데이터가 저장되는 방식에 대해 고려하는 것이 매우 중요합니다. 8장에서는 파이썬에서 데이터를 저장하는 두 가지 새로운 방법인 집합(Set)과 딕셔너리(Dictionary)에 대해 배웁니다.

9장. 완전 탐색(Complete-Search)으로 알고리즘 디자인하기
프로그래머는 문제를 접했을 때 처음부터 모든 것을 시작하지는 않습니다. 그 대신, 일반적인 해결 방법의 패턴을 사용하여 해결할 수 있는 문제인지를 판단합니다. 9장에서는 광범위한 문제를 해결하는 데 사용할 수 있는 완전 탐색(Complete-Search) 알고리즘에 대해 알아봅니다.

10장. Big O와 프로그램의 효율성(성능)
때때로 우리는 동작은 되지만 너무 느리게 실행되어 실제로 활용하기에는 유용성이 떨어지는 프로그램을 만들어 내기도 합니다. 10장에서는 프로그램의 효율성에 대한 척도와 더욱 효율적인 코드를 작성하는 데 사용할 수 있는 도구에 대해 알아봅니다.