새로 알게 된 점
리스트 역순 출력 방법
list[::-1] 을 하면 역순이 된다.
--> 원리는 list[m:n:-1] 일 때 m번 인덱스부터 n-1번 인덱스까지 역순으로 출력됨.
예를 들어 list[3:0:-1]을 하면 3번 인덱스부터 1번 인덱스까지 역순으로 출력된다.
그래서 list[3::-1]을 하면 3번 인덱스부터 0번 인덱스까지
list[::-1]을 하면 제일 마지막 인덱스부터 0번 인덱스까지 역순으로 출력할 수 있음.
+ 추가
reverse() 함수 --> list만.
reversed() ---> 문자열에 바로 적용 가능
.gitignore 파일을 작성, 저장함
이미 체크인된 파일을 무시하려면 파일 추적을 해제해야 함.
git rm --cached FILENAME
git mv FILENAME NEW_FILENAME
완전탐색이란 가능한 경우의 수를 일일히 나열하면서 답을 찾는 것
경우의 수가 적을 때 사용한다.
완전탐색과 관련해서 재귀함수(recursive function)를 많이 이용하게 될 것.
재귀함수란 자신을 다시 불러오는 함수이다.
기저사례가 꼭 필요하다 (무한 반복을 하지 않도록)
재귀함수를 이용하는 것이 반복문을 사용하는 것보다 유연하게 조건에 대응할 수 있음.
완전탐색의 시간복잡도 = 후보의 최대 개수
그리디 알고리즘이란 지금 당장 좋은 방법을 사용하는 것을 말한다.
정당성을 찾기가 어렵고, 따라서 문제 접근할 때 찾아내기가 어려움.
어떤 방법을 쓸까 탐색할 때 반례를 항상 생각해보는 식으로 진행할 것.
Today I Thought
알고리즘 코트카타는 아직 풀만하고 튜터님께서 오후에 진행하는 공부방들이.. 문제가 너무 어렵다. 문제를 논리적으로 접근하면 될 것 같긴 한데 마주하는 순간 머리가 복잡해지는 느낌이다. 단순하게 생각하고, computational thinking으로 하나하나 짚어가면서 풀어보는 훈련을 해야할 것 같다. 완전탐색과 그리디 알고리즘 문제는 접근했다가 시간을 한참 쓰고 코드 작성은 하지도 못했다. 추가 강의를 좀 더 찾아보거나 하는 식으로 이해도를 높일 수 있는 방법을 좀 더 탐색해 보아야겠다.