전체 글 110

오랜만에 친 토익후기... LC 망했다

제420회 11월 22일 토익 시험을 보고왔다. 올해 처음 본 토익시험이었는데 몇년? 만에 봤더니 너무 떨렸다. 어제 마지막 모의고사를 풀었을 때 목표점수보다 50점이 높게 나와서 그간 공부한게 효과가 있나보다 하고 내일 실전에서도 이대로만 제발 하고 기도했다 오늘 시험 당일 파트1 디렉션을 들으면서 파트5를 푸는데 쉬워서 다행이다 생각하는데 파트1 1번 리스닝이 나오자 마자 멘붕... LC를 고속버전으로 연습하길 잘했다 생각했는데 파트1은 모의고사 풀때 틀린적이 없어서 별다른 대비를 안했는데 1번문제 리스닝 속도에 당황해서 그런지 LC를 전체적으로 말렸다 자꾸 미련이 가는 옛 문제들... 역대급 LC 최저점이 나올 것 같아서 너무 슬프다... 이대로라면 목표점수는 커녕 흑흑 그래도 다른 후기를 봐도 L..

취준일기 2020.11.22

[TIL_알고리즘] 하노이 타워(Hanoi towers)와 피보나치 (Fibonacci Number)

하노이 타워(Hanoi towers) n(원반개수)/ from(출발지)/ to(도착지)/ spare(임시공간) def Hanoi(n,ffrom,to,spare): if n==1: print(ffrom+"에서"+to+"로 이동") return Hanoi(n-1,ffrom,spare,to) Hanoi(1,ffrom,to,spare) Hanoi(n-1,spare,to,ffrom) Hanoi(3,'from','to','spare') # from에서to로 이동 # from에서spare로 이동 # to에서spare로 이동 # from에서to로 이동 # spare에서from로 이동 # spare에서to로 이동 # from에서to로 이동 피보나치 (Fibonacci Number) def Fibonacci(n): if ..

취준일기 2020.11.17

[TIL_알고리즘] 재귀호출(Recursion)

재귀호출: 무한 자기자신으로 돌아옴 factorial 1!=1 #basecase 호출이 끝날 수 있는 제약조건 2!=2*1 =2 3!=3*2*1 = 3*2! =6 4!=4*3*2*1 =4*3! =24 5!=5*4*3*2*1 =5*4! =120 6의 팩토리얼? 6*(6-1)! n의 팩토리얼? n*(n-1)! n!=n*(n-1)! def fact(n): if n==1:return 1 return n*fact(n-1) print(fact(4)) #24 def ONE(): print("첫번째") TWO() #함수호출 print("다섯번째") def TWO(): print("두번째") THREE() #함수호출 print("네번째") # 끝나고 stack에 보관되어있던 ONE()으로 이동 pop() def THRE..

취준일기 2020.11.16

[TIL_알고리즘] 완전 탐색 DFS(Depth First Search)

완전 탐색 깊이우선방식으로 모든 정점을 방문하여 (전수조사) BFS, DFS : 비선형 구조인 그래프에서 모든 데이터를 완전 검색하는 방법 - 시작 정점에서 한 방향으로 가능한 정점까지 탐색해 나가다가 그 이후에 바로 이전 정점으로 되돌아와서 방문하지 않은 다른 방향의 정점으로 탐색을 계속 반복해 나감. - 바로 이전의 정점으로 되돌아가서 DFS를 반복하는 방법이므로 LIFO의 스택 사용 here=현위치 next=다음위치 다음위치를 못찾으면 stack에서 엄마를 찾아 방문하지 않은 엄마정점의 다음 위치 찾기 stack 엄마 visted 방문여부 스택이 완전 비워있다면 끝 [스택 사용] print(here) visted[here] = True while here: next = findnext(here) i..

취준일기 2020.11.15

[TIL_알고리즘] DFS BFS 그래프 기초

그래프 용어정리 directed graph(단방향) / undirected graph(양방향) 1. - 정점 V(vertex) - 간선 E(edge) - 정점의 부착(incident) 간선 - 정접의 인접(adjacent) 정점 2. 차수(degree) 하나의 정점에 인접한 정점의 수 - 진입차수 : InDegree - 진출차수: OutDegree InDegree=OUtDegree 3. - Path : 경로 - Cycle : 순환경로(재귀) 4. 가중치 그래프(Weighted Graph) 정점과 정점사이의 간선에 가중치가 부여되어있는 그래프 인접행렬에서 그래프 표현 양방향 그래프 - 대각선을 기준으로 Adjacent Matric(인접 행렬)을 그렸을 때 대칭한다. - 간선의 개수를 통해 차수를 알수있다...

취준일기 2020.11.14

[TIL_알고리즘] 정렬 알고리즘 Counting Sort

원소간 비교하지 않고 각 원소가 몇번 등장하는지 세는 작업을 하여, 선형 시간에 정렬 정렬을 위한 길이 n의 배열 하나, 계수를 위한 길이 k의 배열 하나 필요 before=[5,0,2,4,2,2,4,1] *정수이고 음수가 아닌 값만 가능 1. before에서 각 원소들의 발생 회수를 세고, 카운트 배열 c에 저장 0 1 2 3 4 5 c 1 1 3 0 2 1 for i in range(0,howmany): c[before[i]]+=1 2. c의 원소를 조정 for i in range(1,len(c)): c[i] += c[i-1] 3. c[1]을 감소(인덱스번호는 0부터 시작하기 때문에)시키고 after에 1을 삽입 for i in range(howmany-1,-1,-1): c[before[i]] = c..

취준일기 2020.11.13