본문 바로가기

Programming150

버블 정렬 (Bubble Sort) 1. 버블 정렬 2개씩 비교해서 더 작은 것을 앞으로 자리바꿈 * 세로로 그려 보면, 가장 작은 것이 거품처럼 위로 (=맨 앞으로) 올라가는 형태 [ Algorithm ] 1. for pass = 1 to n-1 2. for i = 1 to n-pass 3. if (A[i-1] > A[i]) // 위의 원소가 아래의 원소보다 크면 4. A[i-1] ↔ A[i] // 자리바꿈 5. return A 2. 버블 정렬 예제 ex ) 1 10 5 8 7 6 4 3 2 9 오름차순 정리하시오. #include int main(void) { int a[] = { 1, 10, 5, 8, 7, 6, 4, 3, 2, 9 }; int n = sizeof(a) / sizeof(int); int temp; for (int i .. 2022. 5. 4.
선택 정렬 (Selection Sort) 1. 선택 정렬 가장 작은 것을 맨 앞으로 가져오자 ! 2. 선택 정렬 예제 ex ) 1 10 5 8 7 6 4 3 2 9 오름차순 정리하시오. #include int main(void) { int a[] = { 1, 10, 5, 8, 7, 6, 4, 3, 2, 9 }; int min, minIdx, temp; int n = sizeof(a) / sizeof(int); for (int i = 0; i < n-1; i++) { min = a[i]; minIdx = i; for (int j = i + 1; j < n; j++) { if (a[j] < min) { min = a[j]; minIdx = j; } } temp = a[i]; a[i] = a[minIdx]; a[minIdx] = temp; } for.. 2022. 5. 3.
정렬 알고리즘 1. 정렬 알고리즘 임의의 순서로 제공된 수들을 크기순으로 정렬하는 알고리즘 다양한 종류가 있음 알고리즘의 효율성 차이를 잘 나타냄 2. 정렬 알고리즘의 종류 ■ 선택 정렬 (Selection Sort) https://hyeminseo.tistory.com/61?category=1072199 ■ 버블 정렬 (Bubble Sort) https://hyeminseo.tistory.com/63?category=1072199 ■ 삽입 정렬 (Insertion Sort) https://hyeminseo.tistory.com/64?category=1072199 ■ 퀵 정렬 (Quick Sort) https://hyeminseo.tistory.com/65?category=1072199​ ■ 병합 정렬 (Merge S.. 2022. 5. 3.
[Github] add -A opensdf 에러 해결 ▶▶ 문제상황 알고리즘 공부를 시작하면서, 문제 풀이 코드를 깃허브에 업로드하고자 하였다. repository를 만들고, remote도 연결하고 add -A를 하려 했는데, 아래와 같은 에러가 뜨면서 add가 되지 않음 open("파일명.opensdf"):Permission denied, unable to index file 파일명.opensdf ▷▷ 해결 방법 아래의 블로그에서 동일한 에러를 해결한 기록이 있길래, 같은 방식으로 시도하여 해결하였다. visual studio / Tools / Options / Text Editor / C/C++ / Advanced / Browsing Database Fallback 1. Always User Fallback Location : True로 2. Do No.. 2022. 5. 3.
[배리어프리] #01. 공모전 참가 결심과 팀 구성 현대 오토에버에서 주관하는 '배리어프리 앱개발 공모전'에 참가하기로 결심했다. 사회적 약자를 위한 어플을 개발하는 공모전이며, 주제가 선정되면 멘토분들께 멘토링도 받으며 서비스를 구체화할 수 있다. 공모전 팀원 매칭 단톡방에서 안드로이드 개발 경험이 있는 팀원을 모집한다는 글을 보고 망설임없이 지원했다. 그동안 서베이지 개발팀이 주는 안정감과 안도감이 아닌, 새로운 것에 도전해보고 싶다는 갈증이 있었는데 마침 공모전이 있어 참여하였다. 개발과 관련하여 모르는 단어가 많아 허둥대고 부끄러워하던 1년 전 나와 동일한 계절을 보내고 있지만, 지금은 전보다 훨씬 성장하고 채워진 스스로임을 느끼고 있다. 저녁에 잠깐 회의했는데, 나는 엄청나게 열정적으로 의견을 내고 분위기를 이끌어갔다. 주제 선정을 위한 자료조사.. 2022. 4. 29.
Graph : 개념 정리 1. Graph : A data Structure that represents the relationships between connected objects. 2. Terminology Vertex = Node Edge = link 3. Graph Type Undirected Graph Directed Graph ONLY undirected edge ONLY directed edge Both way One way (A, B) (A, B) == (B, A) != ▶ Weighted Graph : A graph with the weight assigned to edges ▶ Sub Graph : A graph consisting of a subset of the vertex set V(G) & the edg.. 2022. 4. 19.
Array : 개념 정리 1. Array (1) data type이 동일한 자료를 연속으로 저장함 (2) A set of pairs of 2. 1차원 배열 ▷ 1차원 배열의 선언 자료형 배열명[element 개수 = 배열 크기] ; int MyArr[100]; ▷ 1차원 배열의 초기화 자료형 배열명[배열 크기] = { 초기값 리스트 } ; int MyArr[3] = {1,2,3}; or int MyArr[ ] = {1,2,3,4}; #include void main() { int score[3] = { 91, 86, 97 }; char grade[3] = { 'A', 'B', 'A' }; printf("\n *** 학년별 취득 학점 ***\n\n"); for (int i = 0; i < 3; i++) { printf("%d학년 .. 2022. 4. 10.
Time Complexity Analysis Time Complexity Analysis : 시간 복잡도 ▶ 시간 복잡도 표기법 ① Big O Notation ② Big Ω Notation ③ Big θ Notation 함수의 상한 나타냄 함수의 하한 나타냄 함수의 상한과 하한 나타냄 모든 n >= n0 에 대하여, |f(n)| = n0 에 대하여, |f(n)| >= c |g(n)| 을 만족하는 상수 c와 n0이 존재하면, f(n) = Ω(g(n)) 이다. 모든 n >= n0 에 대하여, c1 |g(n)| 2022. 4. 10.
Data Structure 1. Importance of Data Structure 우리는 일상에서 방대한 양의 데이터와 함께 살아간다. 그러나, 아무렇게나 뒹굴고 있는 데이터는 우리의 생활에 빛나는 도움을 주지 못한다. 따라서 데이터들을 찾기 쉬운 형태로 정리하기 위한 바구니가 필요한데, 이것이 바로 자료구조이다. 자료구조는 배열, 리스트, 스택, 큐 등 그 종류가 다양하다. 우리는 상황에 따라 가장 적합한 자료구조를 선택하여 데이터를 저장하고, 쉽게 꺼내쓰면 된다. ※ Program = data structure + algorithm 2. ADT (Abstract Data Type) ▶ Data type : data (-2, 0, 1, 3 ...) & opeartion ( *, +, /, % ...) 집합들의 모임 우리는 '무.. 2022. 3. 31.