<-->
본문 바로가기

반응형

분류 전체보기

(39)
정보처리 산업기사 실기 합격. 다들 취득할 필요 없다고 말했고, 나도 잘 알고있다. 그럼에도 2개월이나 투자해서 따는이유는 간단했다. 기초를 쌓고 싶었다. 시나공 실기책이 하라는대로 공부했다. 중요도 A,B랭크만 한달동안, 하루 3시간(순집중)씩 학습했다. 모든 알고리즘 예제는 순서도를 그리면서 이해했다. 데이터 베이스는 수식들을 최대한 활용해보고, 중요한 개념은 암기했다. 나머지 과목들은 용어 위주로 적혀있어서 quizlet에 넣고 일주일동안 반복해서 학습했다. 한 3과목 합쳐서 150단어 정도? 기출은 책에 부록된 2년치만 풀면서 학습했다. 시험 난이도는 모르겠고, 채점이 꽤 관대한편인거 같다. 들인 시간만 보면 정말 무식하기 그지없다. 그래도 목표했던 기초쌓기는 성공했다. 학습내용이 완벽히 기억나지 않지만 내 전공과목 지식의 틀..
정렬의 stability 안정정렬과 불안정정렬을 예시를 들어 정리해봤다. 정렬 전 데이터베이스 이름 학년 1 가케니 3 2 다스탠 3 3 라카트먼 3 4 나버터스 2 5 마카일 1 이름을 오름차순으로 처음 정렬할때 어떤 정렬기법을 사용하든 결과는 똑같다. 첫번째 이름 기준 정렬 결과 이름 학년 1 가케니 3 2 나버터스 2 3 다스탠 3 4 라카트먼 3 5 마카일 1 하지만 여기서 학년 기준 오름차순으로 한번 더 정렬한다면 사용한 정렬기법에 따라 결과가 바뀐다. case 1. 불안정 정렬 ex )선택정렬, 퀵정렬 (아래는 첫번째 정렬결과에 추가로 학년기준 선택정렬을 한 것이다. 3학년들의 정렬 상태를 확인해보자 ) 이름 학년 1 마카일 1 2 나버터스 2 3 다스탠 3 4 라카트먼 3 5 가케니 3 학년은 잘 정렬이 됐으나 이름..
24일차 - 오징어가 싫어요 한달만에 주식 계좌에 빨간색이 들어왔다. 요즘 coursera의 algorithm, part1을 듣고있는데 강의 자막 빼고는 전부 영어라 진도나가는데 어려움을 겪고있다. 구글 번역이 있지만 번역이 제대로 안돼서 맥락 파악하는데만 쓰고있다. 그래도 깔끔한 강의 + 부지런한 조교님 + 과제 선정과 난이도가 너무 맘에 들기때문에 이 강의는 끝까지 들을수 있을거 같다. 속이 안좋아서 그만쓰고 운동이나 가야겠다. 요즘 늦은시간에 집안으로 비린내가 자꾸 들어오는데 살맛이 안난다 불편한점 : 오징어가 싫어요 오징어가 싫어요 오징어가 싫어요 오늘 한 일 : 알고리즘 강의 1주차 2강 과제중
algorithm, part1 | Coursera 과제 하는법 (mac) 영어를 못해서 첫번째 테스트용 과제 세팅하느라 하루를 다썼다. 그래도 단어 하나씩 찾아가면서 과제 제출하고 통과했다. (영어 잘하는분은 원문 읽으면서 하는게 더 빨라요!) 세팅 하는 방법 lift.cs.princeton.edu/java/mac/ Hello World in Java (Mac OS X) Tip Typically, you should compile from IntelliJ (because IntelliJ highlights the lines on which any compile-time errors or warnings occur) and execute from the command line (because the command line makes it is easy to specify com..
백준 2178 - 미로탐색 www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net bfs를 이용해서 풀었다. N, M = map(int, input().split()) def addVisited(element): if element == '1': return None else: return 0 graph = [] # 그래프 입력 받기 for j in range(N): graph.append(list(input())) graph[j] = list(map(addVisited, graph[j])) # (0,0) queue에 삽입..
quickSort 파이썬 구현 (백준 2750) import sys sys.setrecursionlimit(99999) input = sys.stdin.readline # 파티션 구현 (분할) #pivot보다 작은값은 앞으로 큰값은 뒤로 def partition(array, left, right): pivotValue = array[right] pivot = left for i in range(int(pivot), int(right)): if array[i]
15일차 - 똑똑똑똑똑 오늘은 음악없이 차분하게 보냈다. 어제는 왜인지 몰라도 잠들기가 힘들었다. 눈 감고 2시간을 보낸후에야 겨우 잠에 들었다. (세상 힘든시간이었음) 그런데 이상하게도 오늘하루는 쌩쌩하다. 마치 8시간은 잔것 같다. 눈만 감고있어도 잠든걸로 치는건가? 아침에 급하게 챙기느라 이어폰 챙기는것을 깜빡했다. 덕분에 오늘하루는 음악없이 보내게 됐는데 하루종일 차분하고 공부하는것 마저 즐거웠다. 그러고보니 음악 때문에 마음이 심하게 뜨는거 같기도하다. 당분간 생각을 해봐야겠다.. 음악 없이 지내볼까? 불편한점 : x 오늘 한 일 : 이산수학 트리 전반부, 병합정렬
Devide and Conquer(mergeSort) 재귀 알고리즘 설계를 기반으로 한다. 따라서 1. 탈출조건 2. 각 하위문제는 본문제보다 작은 문제여야한다. 위 두조건을 만족해야한다. 3단계로 간단히 말하면 1. 분할 : n크기의 배열을 n/2크기의 하위배열 2개로 나눔 2. 정복 : 배열의 크기 1이 될때까지 반복해 재귀적으로 정렬함. 3. 결합 : 하위배열을 합해서 정렬함. 시간 복잡도 1. 분할 : 중간값을 구함, (상수시간) O(1) 2. 정복 : 재귀 횟수는 트리의 level인 log2n임. 3. 결합 : 정렬된 하위배열 요소들을 한번씩 비교후 정렬함 O(n) 각 트리 계층마다 O(n)번의 연산을 하므로 시간복잡도는 트리의 level(재귀횟수) * O(n) 이다. O(nlogn)

반응형