지난 학기들의 기록59 [C 알고리즘] 병합 정렬 - Merge Sort Algorithm 정렬 알고리즘에서 퀵 정렬을 배운뒤 병합정렬 알고리즘을 접해보았습니다. 나동빈님의 블로그와 유튜브 강의를 통해 개념을 학습했는데 설명이 잘되어있어서 참고용으로 기록을 하기 위해 포스트를 씁니다. 이해한 내용을 저만의 언어로 설명하면서 학습해보겠습니다 출처: https://blog.naver.com/ndb796/221227934987 7. 병합 정렬(Merge Sort) 지난 시간까지 시간 복잡도 O(N ^ 2)인 선택 정렬, 버블 정렬, 삽입 정렬 알고리즘을 공부했습니다. 이어... blog.naver.com 병합 정렬은 시간복잡도 O(N*logN)을 가집니다. 코드에서도 알수있듯이 정렬을 분할해서 하기때문에 대표적인 분할정복 알고리즘이면서, 어떠한 경우에도 반씩 나누기때문에 최악의경우에도 시간복잡도 N.. 2020. 6. 14. [C실습] BOJ/10809 + 문자열과 포인터 예제 문자열과 포인터를 공부하고 있어서 백준 예제 문제와 실습문제로 주어진 문제 몇가지들을 풀어보았습니다. 배열과 문자열을 포인터를 활용하여 접근하면 call by reference 이기때문에, call by value와 다르게 활용할수있는 방법이 많았습니다. 꾸준히 연습해서 자유자재로 다룰 수 있도록 연습할 것 입니다. https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net #pragma warning(disable:4996) #include.. 2020. 6. 14. [C실습] 배열예제 - 2차원 배열에서 다른 배열찾기 실습 문제중에 나온 문제입니다. 다른 문제에 비해 풀이하는데 시간이 걸렸으므로 기록해두기 위해 포스트를 씁니다. 핵심사항은 비교하는 배열과 비교당하는 배열을 구분지어서 각각의 인덱스를 독립적으로 생각해야한다는 점이었습니다. 자세한 내용은 코드에 주석을 달아두었습니다. #완성된 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 #pragma warning(disable:.. 2020. 6. 8. [C실습] 배열예제 -초를 입력받고 그 후의 시,분,초 구하기 #pragma warning(disable:4996) #include int main() { int time[3];// idx 0 -> hours, 1->minute , 2->second int aftertime; int after_sec[3] = { 0 }; scanf("%d %d %d", &time[0], &time[1], &time[2]); int a=0,b=3600; scanf("%d", &aftertime);//a는 추가한 초 for(int i=0;i 2020. 6. 2. 이전 1 ··· 8 9 10 11 12 13 14 15 다음