1. 코딩 테스트 소개
- 알고리즘 문제를 주고 코딩으로 해결하도록 요구하는 테스트
- 프로그래밍 언어(파이썬, C, C++, 자바) 사용 능력, 자료 구조와 알고리즘 지식, 문제 해결 지식
- 파이썬 특징 : 짧은 코드로 프로그래밍 가능, 큰 수 처리, 문자열 처리에 편리, CC++에 비해 속도가 느린 편
- 시간 복잡도 : 코드의 수행 시간을 분석할 때 사용
- 공간 복잡도 : 코드의 메모리 사용량을 분석할 때 사용 (배열 등)
- 빅오(Big-O) 표기법 : 크기 n의 모든 입력에 대한 알고리즘에서 필요한 시간이 최대 얼마인지를 점근적으로 나타내는 표기법
- 시간 제한 : 1초, 메모리 제한 : 512MB
- 파이썬 : 통상 1초에 대략 2천 번의 연산이 가능함
- C/C++ : 통상 1초에 대략 1억 번의 연산이 가능함
- 시간 제한이 1초인 문제에 대해서, n < 1억인 경우 0(n), n < 100만인 경우 0(n logn), n < 1만 0(n^2)의 복잡도로 코드 해결 가능
2. 수업 계획
- 파이썬을 사용한 코딩 테스트 진행, 중간/기말고사도 파이썬 문제로만 출제
- 일부 선별된 문제는 C/C++로 문제 풀이가 진행됨
- 파이썬 문법을 다룰 수 있는 능력이 사전에 필요함
3. 백준 온라인 저지 소개
- acmicpc.net
- 회원 가입 시에는 메일 인증이 필수가 아니지만, 결국에 문제 제출 기능, 채점 기능을 쓰기 위해선 메일 인증을 해야함
- 파이썬 환경에서 코드 완성 후 복사 붙여넣기로 검사 진행