본문 바로가기
코딩테스트/이것이 코딩테스트다

[알고리즘] 1. 코딩테스트를 위한 파이썬 문법 및 환경설정

by cogito21_python 2023. 10. 5.
반응형
 Index
 1. 코딩 테스트
 2. 환경설정
 3. 기본 문법
 4. 자료형 && 자료구조
 5. 주의할 점 
 6. 참고자료

1.  코딩 테스트

코딩 테스트

- 기업/기관에서 직원이나 연수생을 선발하기 위한 목적으로 시행 되는 시험

- 문제 해결 역량을 평가

 

복잡도(Complexity)

- 시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석

- 공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석

- 연산 횟수가 5억이상인 경우 Clang은 1~3초, Python은 5~15초

Big-O 표기법

 

문제 해결 과정

1. 지문 읽기 및 요구사항 분석

2. 문제 해결 아이디어 찾기 

3. 소스코드 설계 및 코딩 

 

2.  환경설정

VSCode

- https://code.visualstudio.com/download

 

Python 3.9

- https://www.python.org/downloads/

 

3.  기본 문법 

변수

 

연산자

- 사칙 연산자: +, -,*, /, //, ** 

- 비교 연산자: <, <=, >, >=, ==, !=

- 논리 연산자: and, or, not

- 기타 연산자: x in 리스트, x not in 문자열

 

입출력

- print(str, sep=' ', end='\n')

- input(str): 입력을 문자열로 처리

- sys.stdin.readline().rstrip(): 입력시 줄바꿈 처리를 위해 rstrip() 사용

 

제어문

- 조건문: if ~ elif ~ else

- 반복문: while, for ... in (iterable 객체), range(start,end,step), continue, break

 

함수와 람다식

- 함수: def 함수명(매개변수), return, global

- 람다식: lambda 매개변수: 반환값

 

4.  자료형 && 자료구조

자료형

- 데이터의 형태

- 정수형, 실수형, 복소수형, 문자열, 리스트, 튜플, 딕셔러니, 셋

 

정수형(Integer)

- 정수를 다루는 자료형

- 0, 양의 정수, 음의 정수

 

실수형(Real Number)

- 소수점 아래의 데이터를 포함하는 수 자료형

- 변수에 소수점을 붙인 수를 대입하면 실수형 변수로 처리

- 지수 표현 방식(유효숫자e지수)

- 실수 정보의  경우 정확도에 한계가 있어 오차 발생 주의

- round()함수로 반올림 처리

 

문자열

- 초기화할 때 ", ' 사용

- 문자열은 특정 인덱스의 값을 변경할 수 없음

- f-string: f"context{var}"

 

List

- 여러 개의 데이터를 연속적으로 담아 처리하기 위해 사용하는 자료구조

 

Tuple

- 한 번 선언된 값을 변경할 수 없음

- 리스트에 비해 상대적으로 공간 효율적

- 서로 다른 성질으리 데이터를 묶어서 관리시 사용, 해싱의 키 값으로 사용할 때 

 

Dictionary

- Key와 Value의 쌍을 데이터로 가지는 자료형

- 키는 변경 불가능한 자료형을 사용

- 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리

- 주요 메서드: keys(), values(), item()

 

Set

- 중복을 허용하지 않음, 순서가 없음

- 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리

- 연산: 합집합(|), 교집합(&), 차집합(-)

- 주요 메서드: add, update, remove

 

5.  주의할 점

시간 측정

import time
start = time.time()
# 소스코드
end = time.time()
prinit("time: ", end - start)

 

리스트 초기화

- arr = [[0] *m]*n 사용 금지, 전체 리스트 안에 포함된 각 리스트가 모두 같은 객체로 인식

 


참고 자료

[Video: 동빈나의 이코테 2021(코딩 테스트 출제 경향 분석 및 파이썬 문법 부수기)]
https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=3
[Docs: Python3.8]
https://devdocs.programmers.co.kr/python~3.8/

 

반응형