TIL 021
데이터 분석 부트캠프 44일차
알고리즘 특강 3일차
회문찾기
- 어떤 함수를 찍어서 밖으로 모듈화 할 수 있을까? (재귀함수)
- 문제 로직과 관련없이 함수를 모듈화 한 후 밑에서 개별적으로 사용
- 어떤 부분을 True False로 할 것인가
- Transpose를 파이써닉 하게 zip으로 구현
- 다중 for문의 break : 더블 브레이크, 브레이크의 위치
- 튜플과 리스트의 차이, 튜프를 슬라이싱 할 수 있을까?
- 시간효율성을 위한 구조화
- 문제를 풀어도 실력이 늘지 않을 때는 파이썬 기초 구조화에 대한 고찰이 필요하다.
2차원 리스트
- 리스트, 튜플, 딕셔너리 등의 이해가 높을 수록 현실을 잘 설명할 수 있는 구조를 구현 가능
- 튜플과의 가장 큰 차이점 : 수정 가능성!!
- 좌표 리스트 : 변하는 경우 리스트, 고정된 경우 튜플
- 리스트의 id값 : LEGB
>>> a= [1,2,3]
>>> b= [1,2,3]
>>> id(a)
2211569318272
>>> id(b)
2211529738624
>>> a = [1,2,3]
>>> b=a
>>> id(a)
2211569317376
>>> id(b)
2211569317376
>>> a = [1,2,3]
>>> b = [1,2,3]
>>> id(a)
2211569316672
>>> id(b)
2211569316416
- https://pythontutor.com/visualize.html#mode=edit
- 파이썬은 존재가 먼저 생기고 포인팅이 된다
a = [1,2,3]
b = a
a = [1,2,3]
b = [1,2,3]
print('hi')
a = [1,2,3]
b = a[:]
a[0] = 7
b[0] = 999
a = [[1, 8, 4], [7, 3, 9], [5, 2, 6]]
selection = a[2][2]
print(selection)
- 2차원 리스트 → 행렬구조!!
- 순회 : 이중 포문으로 자유롭게 돌아다니기
- 딕셔너리 구조화 : 리스트 보다 공간복잡도를 낮출 수 있음
실전 문제풀이
- swea 5536 : 의석이의 세로로 말해요 https://www.acmicpc.net/problem/10798
특강 이후의 스터디
- 책 보다는 직접 문제 풀어보기를 추천
- Github로 스터디 해보기