취준일기 87

[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

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

최대값, 최소값은 인덱스의 위치를 이용해서 구하기 인덱스번호와 값을 함께 변경하기 최대값 구하기 max=data[0] if max 인덱스[0]과 교환 [5,1,7,10,2]->[1,5,7,10,2] 2회전시 가장 작은 수를 찾음 인덱스 [4]인 2가 가장 작은 숫자 -> 인덱스[1]과 교환 [1,5,7,10,2]->[1,2,7,10,5] 3회전시 가장 작은 수를 찾음 인덱스 [4]인 5가 가장 작은 숫자 -> 인덱스 [2]와 교환 [1,2,7,10,5] ->[1,2,5,10,7] 4회전시 가장 작은 수를 찾음 인덱스[4]인 7과 가장 작은 숫자->인덱스 [3]과 교환 [1,2,5,10,7]->[1,2,5,7,10] best case: O(n2) worst case: O(n2) 평균적인 시간 복잡도: O(..

취준일기 2020.11.12

정보처리기사 3회 실기 합격

12일 목요일 낮 12시에 시험결과가 나온다고 해서 출근하고 내내 긴장하고 있었 카페글 보면서 나도 덩달아 더 걱정되고ㅜㅜ 점심먹고 12시에 큐넷 홈페이지 모바일로 들어가는데 접속이 안되서 더 노심초사했다. 정처기 커뮤니티에서 합격하면 큐넷에서 연락이 온다 했는데 연락이 안오길래 ㅜㅜㅜ 낙방인가 생각했는데 12시 12분 ㅋㅋㅋ큐넷에서 두개의 알림톡이 왔다 첫번째 알림톡은 사조사 실기 시험 예정 카톡이라 급실망 하지만 두번째 알림톡인 합격 축하 카톡을 보고 너무나도 기뻤다 ㅎㅎ 드디어 정보처리기사 자격증 취득했다 1회차 실기 시험 떨어지고 많이 낙담했는데 정보도 많이 찾아보고 이번이 마지막이다라는 생각으로 공부했더니 3회차에 다행히 합격했다 ㅎㅎ 맨날 발목을 잡던 기사 자격증인데 취득할 수 있어서 너무 기..

취준일기 2020.11.12

11/11 일지

8:50~8:55 이소라 다이어트 하체 운동 9:10~10:10 토익 VOCA 11(복),12(복),13(학) 예토연 어휘편에서 나온 단어 복습, 토익끝 파트5 단어 복습 10:10~11:30 예토연 대명사(40), 예토연 대명사(22) 11:30~점심시간 및 휴식(앗..2시까지 잠들었다아아) 14:00~15:00 토익끝 파트5 풀기 15:00~16:10 TEST 5 RC 풀기(410...파트7다시 10개 이상 틀림...파트5풀이늦어서 파트7시간부족했음) 16:10~17:00 예토연 접전부 완벽 정리 영상+외우기,이소라 다이어트 하체 운동 17:00~토익 VOCA 11(복),12(복),13(학) 버스 산타토익 voca/파트2/파트5 독서실 매경테스트 공식가이드 2장(가격탄력성)~3장 / 경제학 참고 예토..

취준일기 2020.11.11