SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Accepted!
2016. 11.
이 원 철 . 장 홍 준 .
Problem Solving
GuideBook
AlKor & ALPS
고려대학교
Problem Solving?
논리적, 수학적 문제들에
적합한 자료구조를 이용해 알고리즘을 설계하여
프로그램을 작성하는 일!
Competitive Programming이라고도 함!
Index
01 필요한 배경지식
02 참고서적 및 자료
03 연습하는 방법
04 대회 리스트
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
1. 기본적인 프로그래밍 언어 구현 능력
C/C++, Java …
2. 자료구조와 알고리즘
스택(Stack), 큐(Queue), 데크(Deque), 힙(Heap),
트리(Tree), 그래프(Graph) …
퇴각검색법, 욕심쟁이 방법, 동적계획법,
트리 or 그래프 관련 알고리즘, 문자열 관련 알고리즘, 기하 관련 알고리즘 …
3. 수학
대수학, 기하학, 조합론 …
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
1. 기본적인 프로그래밍 언어 구현 능력
주로 Problem Solving Contest에서는 C/C++ 혹은 Java를 많이 사용한다!
프로그램 수행 시간 측면에서는 C/C++이 유리하다.
Standard Template Library(STL) 사용에 익숙해지면 매우 좋다.
게임에 비유하자면 리그오브레전드에서의 ‘CS 먹기’, 오버워치에서의 ‘에임’과 같다…!
짧은 시간 내에 정확한 프로그램을 구현하는 대회에서 그 중요성은…!!!
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
1. 기본적인 프로그래밍 언어 구현 능력
문제를 많이 풀다 보면 자연스럽게 향상된다.
모르는 것을 너무 오래 붙들지 말고, 주변 친구나 커뮤니티에 꼭 물어보자!
백준 온라인 저지의 단계 : https://www.acmicpc.net/step
Dovelet의 30계단 : http://59.23.27.112/30stair/
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
2. 자료구조와 알고리즘
알고리즘의 시간복잡도를 줄이기 위한 효과적인 자료구조의 사용이 관건!
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
2. 자료구조와 알고리즘
자료구조, 알고리즘의 원리와 쓰임에 대한 깊은 이해가 고난도 문제 풀이의 밑거름!
DFS 탐색 ↔ 스택(Stack), BFS 탐색 ↔ 큐(Queue)
선형 탐색 O(N) → 이분탐색 O(log N)
구간의 최댓값 / 최솟값/ 합 … → 구간 트리
동적 계획법, 그리디 알고리즘
: 수많은 문제를 통해 여러 유형을 접해보는 게 중요!
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
2. 자료구조와 알고리즘
Dovelet의 30계단 : http://59.23.27.112/30stair/
Startlink의 알고리즘 정기 강의 커리큘럼 : https://goo.gl/Gd3pU7
Startlink의 알고리즘 강의 (유료) : https://code.plus/
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
2. 자료구조와 알고리즘
ALPS 세미나 자료
1. C/C++ : https://goo.gl/w2qYFC
2. 기본 자료구조(1) : https://goo.gl/84Uhk4
3. 기본 자료구조(2) : https://goo.gl/OrQjCd
4. 동적계획법 응용 및 연습(1) : https://goo.gl/6u60a7
5. Sqrt Decomposition : https://goo.gl/eT3lQT
6. 네트워크 플로우 : https://goo.gl/8T6qjc
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
3. 수학
알고리즘 대회에 필요한 수학 : https://goo.gl/PEcagL
알고리즘 대회에 필요한 기하 : https://goo.gl/ZhZzRu
(수식이 잘 보이지 않는 경우 IE로 보면 된다.)
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
1. 프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략 세트 (구종만 저)
Problem Solving 바이블!
실습 문제들의 난이도가 입문자에겐 다소 어려울 수 있다.
모범 답안에 STL이 많이 사용되어 있으므로 이에 대한 사전 지식이 필요하다.
2. 프로그래밍 콘테스트 챌린징
동경대학의 프로그래밍 경시대회 최상위 실력자들(iwi, wata, kita_masa)이 지은 책
내용이 간결하고 중요한 테크닉을 잘 설명해놓았다.
하지만 번역의 질이 다소 떨어져서 아쉽다고 한다.
3. TopCoder 탑코더 알고리즘 트레이닝
알고리즘 문제 해결 전략 세트보다는 난이도가 낮은 책
모범 답안으로 JAVA, C#, C++이 있다는 것이 장점
기본 개념을 잡기에 충실한 책으로 설명이 쉽고 술술 읽히는 점이 좋다고들 한다.
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
4. Topcoder Tutorial
https://www.topcoder.com/community/data-science/data-science-tutorials/
영어로 쓰여진 자료이지만, 질이 매우 높으며 예시 코드와 관련 문제들에 대한 해설 또한 있다.
5. 국내 Problem Solver들의 블로그
잡지 쯤으로 생각하고 읽다 보면 유익한 것들이 많다.
koosaga님의 블로그 : http://amugelab.tistory.com/
myungwoo님의 블로그 : http://blog.myungwoo.kr/
bowbowbow님의 블로그 : http://bowbowbow.tistory.com/
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
1. Online Judge
Baekjoon Online Judge (acmicpc.net)
dovelet (dovelet.com)
algospot (algospot.com)
Lavida Online Judge (judge.lavida.us)
2. Competitive Programming Contests
Codeforces (Codeforces.com)
Topcoder (Web Arena보다는 Java applet 추천!)
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
배경 지식이 부족하다고 느껴질 때!
배경지식이 물론 문제를 해결하는데 필요한 요소이지만, 전부는 아니다.
문제를 풀다가 반드시 필요한 요소가 생기면 찾아서 공부하는 방법 추천!
문제 풀이를 들으면 구현할 줄 알지만, 풀이를 떠올리기가 힘들 때!
풀었던 문제를 일정 시간이 지난 후, 반복해서 풀어보거나 비슷한 방법으로 풀리는,
약간의 변형된 문제들을 찾아 풀어서 해당 유형을 익히는 방법이 있다.
또는 잘하는 친구에게 어떻게 해서 그 풀이를 떠올릴 수 있었는지를 물어보자.
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
실전 대회처럼 연습하고 싶을 때!
Codeforces나 Topcoder에서 정기적으로 열리는 Contest들에 참가하기
Codeforces에선 Virtual Participation이 가능
Topcoder Single Round Match에선 Practice Room에서 연습 가능
Baekjoon Online Judge에서 팀을 생성해 연습 가능
친구가 필요할 때!
Baekjoon Online Judge Slack : https://www.acmicpc.net/board/view/2788
01
필요한 배경지식
02
참고서적 및 자료
03
연습하는 방법
04
대회 리스트
Index
1. ACM ICPC
2. Google Codejam
3. Facebook Hacker Cup
4. 삼성 대학생 프로그래밍 경시대회
5. LG CNS CODE MONSTER(대학생 IT 경진대회)
6. 전국 대학생 프로그래밍 대회 동아리 연합 경시대회

Weitere ähnliche Inhalte

Andere mochten auch

2016 고려대학교 신입생 프로그래밍 경시대회 해법
2016 고려대학교 신입생 프로그래밍 경시대회 해법2016 고려대학교 신입생 프로그래밍 경시대회 해법
2016 고려대학교 신입생 프로그래밍 경시대회 해법Hongjun Jang
 
COCI 2006/2007 contest #1 solution
COCI 2006/2007 contest #1 solutionCOCI 2006/2007 contest #1 solution
COCI 2006/2007 contest #1 solutionHongjun Jang
 
Baekjoon Online Judge 1492번 풀이
Baekjoon Online Judge 1492번 풀이Baekjoon Online Judge 1492번 풀이
Baekjoon Online Judge 1492번 풀이Hongjun Jang
 
Fault tree and event tree in risk analysis
Fault tree and event tree in risk analysisFault tree and event tree in risk analysis
Fault tree and event tree in risk analysisJennifer Gutierrez
 
8 D – Problem Solving Process
8 D – Problem Solving Process8 D – Problem Solving Process
8 D – Problem Solving ProcessAnand Subramaniam
 

Andere mochten auch (7)

2016 고려대학교 신입생 프로그래밍 경시대회 해법
2016 고려대학교 신입생 프로그래밍 경시대회 해법2016 고려대학교 신입생 프로그래밍 경시대회 해법
2016 고려대학교 신입생 프로그래밍 경시대회 해법
 
COCI 2006/2007 contest #1 solution
COCI 2006/2007 contest #1 solutionCOCI 2006/2007 contest #1 solution
COCI 2006/2007 contest #1 solution
 
Baekjoon Online Judge 1492번 풀이
Baekjoon Online Judge 1492번 풀이Baekjoon Online Judge 1492번 풀이
Baekjoon Online Judge 1492번 풀이
 
Fault tree and event tree in risk analysis
Fault tree and event tree in risk analysisFault tree and event tree in risk analysis
Fault tree and event tree in risk analysis
 
8D : Problem Solving Methodology
8D : Problem Solving Methodology8D : Problem Solving Methodology
8D : Problem Solving Methodology
 
8D Problem Solving Report Template with Guidance
8D Problem Solving Report Template with Guidance8D Problem Solving Report Template with Guidance
8D Problem Solving Report Template with Guidance
 
8 D – Problem Solving Process
8 D – Problem Solving Process8 D – Problem Solving Process
8 D – Problem Solving Process
 

Ähnlich wie Problem Solving GuideBook

스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWSMatthew (정재화)
 
(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조
(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조
(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조Jay Park
 
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)ultrasuperrok
 
Coding interview
Coding interviewCoding interview
Coding interviewSoohan Ahn
 
데이터 분석 1 - 소개
데이터 분석 1 - 소개데이터 분석 1 - 소개
데이터 분석 1 - 소개Jaewook Byun
 
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWSGruter
 
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여Kwangsung Ha
 
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.Adonis Han
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기KTH, 케이티하이텔
 
Foss open sorucesw_6902
Foss open sorucesw_6902Foss open sorucesw_6902
Foss open sorucesw_6902승우 백
 
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법복연 이
 
Spark performance tuning
Spark performance tuningSpark performance tuning
Spark performance tuninghaiteam
 
Automated program corrector for programming assignments using Deep Learning
Automated program corrector for programming assignments using Deep LearningAutomated program corrector for programming assignments using Deep Learning
Automated program corrector for programming assignments using Deep LearningSoo Kim
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning Systemhoondong kim
 
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기NAVER D2
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게Sungju Jin
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
1.introduction(epoch#2)
1.introduction(epoch#2)1.introduction(epoch#2)
1.introduction(epoch#2)Haesun Park
 
2016 C++스터디 1주차
2016 C++스터디 1주차2016 C++스터디 1주차
2016 C++스터디 1주차Seungwee  Choi
 
분석과 설계
분석과 설계분석과 설계
분석과 설계Haeil Yi
 

Ähnlich wie Problem Solving GuideBook (20)

스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조
(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조
(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 1편 알고리즘과 자료 구조
 
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
코딩테스트 합격자 되기 연말강의자료(프로그래머스 콜라보)
 
Coding interview
Coding interviewCoding interview
Coding interview
 
데이터 분석 1 - 소개
데이터 분석 1 - 소개데이터 분석 1 - 소개
데이터 분석 1 - 소개
 
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS스타트업사례로 본 로그 데이터분석 : Tajo on AWS
스타트업사례로 본 로그 데이터분석 : Tajo on AWS
 
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
 
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
LDA : latent Dirichlet Allocation (Fairies NLP Series) - Korean Ver.
 
[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기[H3 2012] 오픈소스로 개발 실력 쌓기
[H3 2012] 오픈소스로 개발 실력 쌓기
 
Foss open sorucesw_6902
Foss open sorucesw_6902Foss open sorucesw_6902
Foss open sorucesw_6902
 
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
 
Spark performance tuning
Spark performance tuningSpark performance tuning
Spark performance tuning
 
Automated program corrector for programming assignments using Deep Learning
Automated program corrector for programming assignments using Deep LearningAutomated program corrector for programming assignments using Deep Learning
Automated program corrector for programming assignments using Deep Learning
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System
 
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
1.introduction(epoch#2)
1.introduction(epoch#2)1.introduction(epoch#2)
1.introduction(epoch#2)
 
2016 C++스터디 1주차
2016 C++스터디 1주차2016 C++스터디 1주차
2016 C++스터디 1주차
 
분석과 설계
분석과 설계분석과 설계
분석과 설계
 

Problem Solving GuideBook

  • 1. Accepted! 2016. 11. 이 원 철 . 장 홍 준 . Problem Solving GuideBook AlKor & ALPS 고려대학교
  • 2. Problem Solving? 논리적, 수학적 문제들에 적합한 자료구조를 이용해 알고리즘을 설계하여 프로그램을 작성하는 일! Competitive Programming이라고도 함!
  • 3. Index 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트
  • 4. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 1. 기본적인 프로그래밍 언어 구현 능력 C/C++, Java … 2. 자료구조와 알고리즘 스택(Stack), 큐(Queue), 데크(Deque), 힙(Heap), 트리(Tree), 그래프(Graph) … 퇴각검색법, 욕심쟁이 방법, 동적계획법, 트리 or 그래프 관련 알고리즘, 문자열 관련 알고리즘, 기하 관련 알고리즘 … 3. 수학 대수학, 기하학, 조합론 …
  • 5. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 1. 기본적인 프로그래밍 언어 구현 능력 주로 Problem Solving Contest에서는 C/C++ 혹은 Java를 많이 사용한다! 프로그램 수행 시간 측면에서는 C/C++이 유리하다. Standard Template Library(STL) 사용에 익숙해지면 매우 좋다. 게임에 비유하자면 리그오브레전드에서의 ‘CS 먹기’, 오버워치에서의 ‘에임’과 같다…! 짧은 시간 내에 정확한 프로그램을 구현하는 대회에서 그 중요성은…!!!
  • 6. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 1. 기본적인 프로그래밍 언어 구현 능력 문제를 많이 풀다 보면 자연스럽게 향상된다. 모르는 것을 너무 오래 붙들지 말고, 주변 친구나 커뮤니티에 꼭 물어보자! 백준 온라인 저지의 단계 : https://www.acmicpc.net/step Dovelet의 30계단 : http://59.23.27.112/30stair/
  • 7. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 2. 자료구조와 알고리즘 알고리즘의 시간복잡도를 줄이기 위한 효과적인 자료구조의 사용이 관건!
  • 8. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 2. 자료구조와 알고리즘 자료구조, 알고리즘의 원리와 쓰임에 대한 깊은 이해가 고난도 문제 풀이의 밑거름! DFS 탐색 ↔ 스택(Stack), BFS 탐색 ↔ 큐(Queue) 선형 탐색 O(N) → 이분탐색 O(log N) 구간의 최댓값 / 최솟값/ 합 … → 구간 트리 동적 계획법, 그리디 알고리즘 : 수많은 문제를 통해 여러 유형을 접해보는 게 중요!
  • 9. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 2. 자료구조와 알고리즘 Dovelet의 30계단 : http://59.23.27.112/30stair/ Startlink의 알고리즘 정기 강의 커리큘럼 : https://goo.gl/Gd3pU7 Startlink의 알고리즘 강의 (유료) : https://code.plus/
  • 10. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 2. 자료구조와 알고리즘 ALPS 세미나 자료 1. C/C++ : https://goo.gl/w2qYFC 2. 기본 자료구조(1) : https://goo.gl/84Uhk4 3. 기본 자료구조(2) : https://goo.gl/OrQjCd 4. 동적계획법 응용 및 연습(1) : https://goo.gl/6u60a7 5. Sqrt Decomposition : https://goo.gl/eT3lQT 6. 네트워크 플로우 : https://goo.gl/8T6qjc
  • 11. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 3. 수학 알고리즘 대회에 필요한 수학 : https://goo.gl/PEcagL 알고리즘 대회에 필요한 기하 : https://goo.gl/ZhZzRu (수식이 잘 보이지 않는 경우 IE로 보면 된다.)
  • 12. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 1. 프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략 세트 (구종만 저) Problem Solving 바이블! 실습 문제들의 난이도가 입문자에겐 다소 어려울 수 있다. 모범 답안에 STL이 많이 사용되어 있으므로 이에 대한 사전 지식이 필요하다. 2. 프로그래밍 콘테스트 챌린징 동경대학의 프로그래밍 경시대회 최상위 실력자들(iwi, wata, kita_masa)이 지은 책 내용이 간결하고 중요한 테크닉을 잘 설명해놓았다. 하지만 번역의 질이 다소 떨어져서 아쉽다고 한다. 3. TopCoder 탑코더 알고리즘 트레이닝 알고리즘 문제 해결 전략 세트보다는 난이도가 낮은 책 모범 답안으로 JAVA, C#, C++이 있다는 것이 장점 기본 개념을 잡기에 충실한 책으로 설명이 쉽고 술술 읽히는 점이 좋다고들 한다.
  • 13. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 4. Topcoder Tutorial https://www.topcoder.com/community/data-science/data-science-tutorials/ 영어로 쓰여진 자료이지만, 질이 매우 높으며 예시 코드와 관련 문제들에 대한 해설 또한 있다. 5. 국내 Problem Solver들의 블로그 잡지 쯤으로 생각하고 읽다 보면 유익한 것들이 많다. koosaga님의 블로그 : http://amugelab.tistory.com/ myungwoo님의 블로그 : http://blog.myungwoo.kr/ bowbowbow님의 블로그 : http://bowbowbow.tistory.com/
  • 14. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 1. Online Judge Baekjoon Online Judge (acmicpc.net) dovelet (dovelet.com) algospot (algospot.com) Lavida Online Judge (judge.lavida.us) 2. Competitive Programming Contests Codeforces (Codeforces.com) Topcoder (Web Arena보다는 Java applet 추천!)
  • 15. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 배경 지식이 부족하다고 느껴질 때! 배경지식이 물론 문제를 해결하는데 필요한 요소이지만, 전부는 아니다. 문제를 풀다가 반드시 필요한 요소가 생기면 찾아서 공부하는 방법 추천! 문제 풀이를 들으면 구현할 줄 알지만, 풀이를 떠올리기가 힘들 때! 풀었던 문제를 일정 시간이 지난 후, 반복해서 풀어보거나 비슷한 방법으로 풀리는, 약간의 변형된 문제들을 찾아 풀어서 해당 유형을 익히는 방법이 있다. 또는 잘하는 친구에게 어떻게 해서 그 풀이를 떠올릴 수 있었는지를 물어보자.
  • 16. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 실전 대회처럼 연습하고 싶을 때! Codeforces나 Topcoder에서 정기적으로 열리는 Contest들에 참가하기 Codeforces에선 Virtual Participation이 가능 Topcoder Single Round Match에선 Practice Room에서 연습 가능 Baekjoon Online Judge에서 팀을 생성해 연습 가능 친구가 필요할 때! Baekjoon Online Judge Slack : https://www.acmicpc.net/board/view/2788
  • 17. 01 필요한 배경지식 02 참고서적 및 자료 03 연습하는 방법 04 대회 리스트 Index 1. ACM ICPC 2. Google Codejam 3. Facebook Hacker Cup 4. 삼성 대학생 프로그래밍 경시대회 5. LG CNS CODE MONSTER(대학생 IT 경진대회) 6. 전국 대학생 프로그래밍 대회 동아리 연합 경시대회