일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ekskubecost
- karpenter
- k8s
- BFS
- GDGCampusKorea
- 설치
- ci/cd
- kubecostinstall
- GithubActions
- 쿠버네티스
- kubecost설치
- CI
- 파이썬
- 코테
- 나동빈
- 프로그래머스
- GDSC
- 커뮤니티
- DFS
- AWS
- Whatever
- eks비용
- AwsCloudClubs
- kubecost
- 비용최적화
- GDG
- eks
- Python
- homelab
- CUK
Archives
- Today
- Total
촬리의늘솔길
python 코테 준비 - 개괄 본문
https://www.youtube.com/watch?v=m-9pAwq1o3w&t=5367s
온라인 코테를 위한 개발환경 준비
repl, 파이썬 튜터, 파이참
개발과는 차이점이 있기 때문에 온라인 개발 환경이용 + 깃헙에 올리는 방
그리디
구현
DFS/BFS를 이용한 탐색
탐색
DP
구현
문자
가 주로 나온다고 함.
복잡도
- 시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석
- 공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석
일반적으로 복잡도가 낮을수록 좋은 알고리즘
빅 오 표기법(Big-O Notation)
가장 빠르게 증가하는 항 만을 고려하는 표기법
- 함수의 상한만을 나타내게 된다.
- 차수가 가장 큰 항만 남긴다.
예시는 다음과 같다.
C언어가 Python 보다 빠름.
Python 코드를 잘 작성했고, 시간 복잡도를 고려했음에도 불구하고 느리게 나온다면 -> Pypy
요구사항에 따른 적절한 알고리즘 설계
파이썬 기준, 1초에 2000만번의 연산 안정적 수행 가정했을때,
시간 제한이 1초인 문제를 만났을때
- N 의 범위 500 : 시간 복잡도가 O(N^3)인 알고리즘 설계
- N 의 범위 2000 : 시간 복잡도가 O(N^2)인 알고리즘 설계
- N 의 범위 100,000 : 시간 복잡도가 O(NlogN)인 알고리즘 설계
- N 의 범위 100,000,000 : 시간 복잡도가 O(N)인 알고리즘 설계
수행시간 측정 소스코드 예제
import time
start_time = time.time() # 측정 시작
# 프로그램 소스코드
end_time = time.time() # 측정 종료
print("time:", end_time - start_time) # 수행 시간 출력
728x90
'✍️2023 > Algorithm' 카테고리의 다른 글
구현 (1) | 2023.04.21 |
---|---|
[BOJ/1439] 그리디 문제 (1) | 2023.04.20 |
[이코테] 그리디 (2) | 2023.04.18 |
python 코테준비- 문법공부 (2) (0) | 2023.04.18 |
python 코테준비 - 문법 공부 (2) | 2023.04.13 |