코딩마스터(Coding Master) 3

풀잎스쿨 - 코딩마스터(Coding Master) 3장. 검색 알고리즘

오늘은 책을 보고 검색 알고리즘을 배우고, 프로그래머스를 통해 2가지 문제를 풀었다. 검색 알고리즘에는 다양한 방법이 있지만 3가지에 대해서 알아보았다. 1. 선형 검색 : 가장 기본적인 알고리즘으로 직선 모양으로 늘어선 배열에서 검색할 때 맨 앞부터 스캔하여 순서대로 검색하는 알고리즘이다. 보초법을 쓰면 더욱 빠르게 검색할 수 있게 된다. 2. 이진 검색 : 배열의 데이터가 정렬되어 있어야 한다는 조건이 있다. 선형 검색보다 빠르게 검색 할 수 있다. 3. 해시법 : 데이터 검색, 추가, 삭제도 효율적으로 수행할 수 있는 방법이다. 해시충돌이 발생하는 경우 체인법과 오픈 주소법으로 대처할 수 있다. 오늘 푼 문제는 1. 정부 배열 numbers가 주어진다. numbers에서 서로 다른 인덱스에 있는 두..

공부/AIFFEL 2021.01.27

풀잎스쿨 - 코딩마스터(Coding Master) 1~2장. 알고리즘 기초, 자료구조, 배열

이전에 공부하던 책이 너무 어려워서 책을 바꿨다. 바꾼 책은 "Do it! 자료구조와 함께 배우는 알고리즘 입문 : 파이썬 편"이다. 오늘은 1장(알고리즘 기초), 2장(기본 자료구조와 배열)에 대해서 읽었고, 시간이 빠듯하여 전부 읽지는 못했다. 다음 시간은 미리 읽어오고 얘기를 하는 식으로 하기로 했다. 그리고 프로그래머스에서 "같은 숫자는 싫어"의 연습문제를 풀어봤다. 나는 정확성은 71.9, 효율성은 28.1, 합계는 100.0이 나왔는데 합계 100이 나왔으니 좋은건지 아니면 정확성과 효율성이 둘 다 100이 나와야 좋은건지는 모르겠다. 그냥 통과했다는 것에 의미를 두기로 했다.

공부/AIFFEL 2021.01.20

풀잎스쿨 - 코딩마스터(Coding Master) 4장. 빅오와 자료형

1월 6일 오후에 배운 내용이다. 책 : 파이썬 알고리즘 인터뷰 저자 : 박상길 의 책을 읽고 서로 얘기하면서 이해하고 질문하는 수업방식이다. 1. 오리엔테이션 2. 빅오 - 점근적 실행 시간을 표기할 때 가장 널리 쓰이는 수학적 표기법 중 하나 - 입력의 크기가 충분히 클 때 알고리즘의 효율성에 따라 수행 시간이 크게 차이가 나는가에 대한 것 - 종류 : O(1), O(log n), O(n), O(n log n), O(n^2), O(2^n) - 알고리즘은 흔히 "시간과 공간이 트레이드오프 관계다" - 빅오는 상한을 의미, 빅오메가는 하한을 의미, 빅세타는 평균을 의미한다. - 빅오 표기법은 주어진(최선/최악/평균) 경우의 수행 시간의 상한을 나타낸다. 3. 자료형 - 파이썬의 자료형 종류 : 정수(in..

공부/AIFFEL 2021.01.06