반응형
[주절주절]
1~2개 파일이지만 github에 기록도 하고 있다. 오랜만에 잔디 심기~ 🌿
[Today I Learned]
# 파이썬 pass, continue, break
1) pass: 실행할 코드 없음. 다음 행동 계속 진행.
2) continue: 해당 loop 넘어가고 다음 loop 진행
3) break: 해당 loop 멈추고 밖으로
# 선형자료구조
- 데이터가 순차적으로 배열되는 단일 레벨 자료구조
- 단일 레벨이기 때문에 한 번에 탐색이 가능하다.
- ex. 배열, 스택, 큐, 연결 리스트 등
# 배열
- 메모리 공간 기반의 연속 방식 자료형
- 리스트는 크기를 지정하지 않고 자동으로 리사이징하는 동적 배열
ㄴ 원리) 초깃값을 작게 잡아 배열을 생성하고, 데이터가 추가되어 꽉 채워지면 늘려 모두 복사하는 식
+ 세 수의 합
# 배열을 입력받아 합으로 0으로 만들 수 있는 3개의 엘리먼트 출력
# 혜린 - 투포인터
def three_sum(nums):
results = []
nums.sort()
for i in range(len(nums)-2):
left, right = i, len(nums) - 1
if i>0 and nums[i] == nums[i-1]:
continue
left, right = i+1, len(nums) - 1 # 투포인터
while left < right:
sum = nums[i] + nums[left] + nums[right]
if sum < 0:
left += 1
elif sum == 0: # 세트 찾았다고 끝 X. 남은 경우 더 탐색.
results.append([nums[i], nums[left], nums[right]])
while left < right and nums[left] == nums[left+1]:
left += 1
while left < right and nums[right] == nums[right-1]:
right -= 1
left += 1
right -= 1
else: # >0
right -= 1
return results
ㄴ 투포인터
# 스택
- 스택은 가장 나중에 들어온 자료가 가장 먼저 처리되는 LIFO(Last-In-First-Out) 자료구조이다.
- 파이썬은 스택 자료구조를 따로 제공하지는 않고, list를 사용하면 된다.
1) 초기화
stack = []
2) Push
stack = [1,2,3]
stack.append(4)
stack
[1,2,3,4]
3) Pop
stack = [1,2,3]
top = stack.pop()
print(top)
3
stack
[1,2]
[질문 노트]
Q. 나 이래 해서 코테 볼 수 있는 거 맞나?
반응형
'컴린이 일기장 > Today I Learned' 카테고리의 다른 글
[TIL] 파이썬 divmod / 스택 / 큐 / 집합 (0) | 2021.08.03 |
---|---|
[TIL] sys.maxsize / (단일) 연결 리스트 / 파이썬 다중할당 (0) | 2021.07.21 |
[TIL] 파이썬 정렬 함수 / Counter / defaultdict (0) | 2021.07.15 |
[TIL] 파이썬 문자열 조작 / Deque (0) | 2021.07.14 |
[TIL] 부동소수점 / 빅오(시간복잡도) / Python 자료형 (0) | 2021.07.12 |