본문 바로가기
📊 Algorithm/Algorithm 주제별 정리

🧚‍♂️알고리즘 공부🧚‍♂️

by 정람지 2022. 9. 26.

요즘 문제 풀이에 한계를 느껴서 

시간복잡도/풀이 방법 등

알고리즘에 대해 공부해봐야겠다는 생각이 들었다.

 

그래서 doit 알고리즘 코딩테스트 책을 샀다

내 버려진 doit 안드로이드랑 doit 깃/깃허브와 달리 끝까지 가보겠다! 

안드로이드는 언젠간 할 거다!

깃/깃허브는 안할것같다.. 반 정도 하다가 큰 이득이 없는 것 같아서 탈주

파이썬은 끝냈다~


시간복잡도

시간복잡도 : 주어진 문제를 해결하기 위한 연산 횟수

 

유형

Big-O (O(n))- 최악의 경우
Big-세타(θ(n)) - 보통의 경우
Big-Omega(Ω(n)) - 최적의 경우

최악의 경우를 많이 다룸

 

복잡도

 <  < O(n×log n) <  < O(2n) <O(n!) 

가파르게 증가할수록 (클수록) 좋지 않음

 

계산

연산 횟수:

1초에 2000만번 기준

알고리즘 시간 복잡도 n 값에 데이터의 최대 크기를 대입하여 도출

 

상수를 무시함

반복문 한개(*O(n)) <-> 따로따로 여러개 (N*O(n))

시간복잡도 같음

반복문이 중첩이 되면 시간복잡도 증가.


디버깅

디버깅은 굉장히 중요함

 

디버깅하는법

중단점 설정하기
추적할 변수값 지정 가능
원하는 수식 입력으로 논리 오류 파악 가능

 

디버깅으로 찾을 수 있는 오류

- 변수 초기화 오류
- 인덱스 범위 지정 오류
- 잘못된 범위 사용 오류
- 파이썬 자동 형 변환 오류

파이참을 쓰시네

파이참 깔아놓기만 하고 안 썼는데

vsCode로 할까 파이참으로 할까..

고민

 

[코딩유치원] VS CDOE 파이썬 디버깅(Debugging) 기초 다지기

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다. 코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석, 머신러닝 등의 다양한 패키지까지 초보자도

coding-kindergarten.tistory.com

vsCode 결정

구뤠잇

앞으로 적극 활용해보겠다.

23/0304 드디어 디버깅해보다