본문 바로가기
Bootcamp/Python 문제풀기

영재형 leetcode

by 포항돼지 2023. 9. 26.

Key = 중복안됨
value = 리스트로 추가가능
hashset = 유니크한 값만 들어감, 벨류가 없음, 키만 있다고 보면됨
two points 알고리즘 = 인덱스만 가지고 노는거

 

 

Palindrome = 앞으로읽을때랑 뒤로읽을때랑 똑같은거

 

 

시간 복잡도(Time complexity)는 알고리즘의 실행 시간이 입력 크기에 어떻게 의존하는지를 나타내는 개념입니다. 알고리즘이 해결하는 문제의 크기에 따라 알고리즘의 수행 시간이 어떻게 증가하는지를 설명합니다.

시간 복잡도는 일반적으로 입력 크기 n에 대한 함수로 표현되며, 알고리즘이 수행하는 기본적인 연산(예: 덧셈, 뺄셈, 곱셈, 나눗셈, 비교, 대입 등)의 횟수에 관한 것입니다.

시간 복잡도는 일반적으로 빅 오 표기법(Big O notation)을 사용하여 나타냅니다. 여기서 "O"는 상한을 의미하며, 입력 크기 n이 충분히 클 때 알고리즘의 실행 시간이 이 함수보다 빠르지 않음을 나타냅니다.

몇 가지 흔히 볼 수 있는 시간 복잡도 클래스는 다음과 같습니다:

O(1): 상수 시간 복잡도. 입력 크기에 관계없이 일정한 실행 시간을 갖습니다.
O(log n): 로그 시간 복잡도. 이진 검색과 같은 알고리즘에서 주로 나타납니다.
O(n): 선형 시간 복잡도. 입력 크

 

내가 고려해야할 것, Time Complexity

n == list갯수

즉 최대한 효율적으로 만들어야된다

최대한 적게 돌아야한다

dictionarys나 hashset은 바로 찾는다

 

dic , Hashset 쓸때, 포함되있는지, 안되있는지 확인