코딩테스트 스터디 도서

도서 링크
코딩 테스트 합격자 되기 파이썬 편
목표
- 습관 들이기 위한 매일 최소 1개의 코테 문제 풀기
- 매일 1시간 정도 공부하기
"이 글은 골든래빗 코딩 테스트 합격자 되기 파이썬 편 0장 ~ 4장의 써머리입니다."
00. 코딩 테스트를 준비하기 전에
타인의 풀이를 보면 사고를 넓힐 수 있다
작성된 코드를 보다보면 다양한 문제 풀이 접근 방식이나 코딩 스킬을 습득 가능
나만의 테스트 케이스를 추가하는 건 좋은 알고리즘을 생각할 때 도움이 된다
충분한 시간을 들여 문제 분석 후 구현 전에 예외 상황을 확인 가능하도록 나만의 테스트 케이스 만들어 보기
01. 코딩 테스트 효율적으로 준비하기
문제 분석 연습
코딩 테스트는 문제 풀이 능력을 확인하는 것이 핵심
- 문제를 쪼개서 분석
- 제약 사항 파악, 테스트 케이스 추가
- 입력 값 분석
- 핵심 키워드 파악
- 데이터 흐름, 구성 파악
의사 코드로 설계 연습
코드 설계 = 의사 코드(Pseudo Code) 작성
작성 이점
- 설계 아이디어에 집중 가능
- 수정 시간이 비교적 짧음
작성 방법
- 세부 구현이 아닌 동작 중심으로 작성
- 세부 구현 고민 시 의사 코드는 설계가 아닌 구현이 목적이 됨
- 문제 해결 순서로 작성
- 의사 코드 완성 시 이를 토대로 코드 구현하기 때문
- 자신의 코드 분석 시에 상당히 유용
- 충분한 테스트
02. 프로그래머스 완벽 활용 가이드
프로그래머스 가이드이므로 생략
03. 알고리즘의 효율 분석
가장 효율적으로 해결하는 알고리즘, 알고리즘이 실행되는 제한 시간과 관련↑
시간 복잡도를 보고 선정
시간 복잡도(Time Complextity)
입력 크기에 대한 연산 횟수의 상한을 의미, 낮을 수록 Good
빅오 표기법, 점근적 표기법은 상한선을 활용하는 방식
04. 코딩 테스트 필수 문법
기본 데이터 타입 : int, float, string
컬렉션 데이터 타입 : list, tuple, set, dictionary
Epsilon을 포함한 연산에 주의
파이썬은 부동소수형 데이터를 이진법으로 표현하기 때문
표현 과정에서 오차 발생
리스트(List)
순서가 있는 자료형으로 인덱싱과 슬라이싱 가능
Indexing : 인덱스를 활용해서 특정 위치의 원소에 접근
Slicing : 시퀀스 자료형의 범위를 지정해서 값들을 복사하여 가져오는 방식
람다식(Lambda Expression)
함수를 더 간단하게 표현하는 방법
익명 함수(Annoymous Function)을 만드는 데 사용
사용 방식
- 변수로 참조 가능
- 변수에 람다식 할당, 람다식 실행이 필요한 경우 호출
- 인수로 람다식 넘기는 방법
- 함수에 인수로 람다식 사용
코딩테스트 플랫폼
- 프로그래머스
- LeetCode
- AtCoder
1주 차 잘 정리해 주셨네요. 목표 중 매일 1시간 공부는 상황에 따라 좀 어렵더라도 첫 번째 목표인 하루 1문제는 목표 달성하실 수 있으면 좋겠습니다