본문 바로가기

전체 글

(40)
3. 자료구조 - 해쉬 테이블 1. 해쉬 테이블 : Key와 Value를 저장하는 데이터 구조 : Key값을 해시 함수에 적용한 결과를 통해 저장한 데이터(Value)에 접근할 수 있음 : 장점) 데이터 접근/검색 속도가 굉장히 빠름 -> 충돌이 없는 경우, 시간 복잡도 = O(1) , 특정 Key에 대한 데이터가 있는지/중복을 확인하기 쉬움 : 단점) 보통 배열로 미리 해쉬 테이블 사이즈만큼을 생성 후 사용 (공간과 탐색 시간의 trade-off), 여러 키에 해당하는 해쉬 주소가 동일할 경우, 충돌을 해결하기 위한 별도의 자료구조가 필요 (ex- 링크드 리스트) : 활용) 검색/저장/삭제/읽기가 빈번하게 필요한 경우, 캐시 구현 (중복 확인이 쉽기 때문) ex - 파이썬의 딕셔너리 구조 : Key값에 해싱 함수(Hashing Fu..
MySQL Workbench 사용 기초 처음 SQL workbench로 접한 것이 MySQL인데, GUI도 깔끔하고 쓰기 편리한 것 같아서 과제 수행 시에도 이 프로그램을 계속 썼다. 처음 workbench를 작동시키면 이러한 화면이 뜬다. "MySQL Connecrions"라고 적힌 부분 옆의 + 기호를 누르면 Connection을 새로 만들 수 있다. Connection에 접속 시에는 항상 비밀번호를 입력하는 창이 뜬다. 이걸 까먹으면 들어가지도 못하고 비밀번호를 새로 바꾸는 일도 굉장히 번거롭기에 꼭 어딘가에 메모를 해두는 것을 권장한다. (주로 쓰는 비밀번호로 설정하지 않았다가 낭패를 본 경험이 있다,,) 다음은 한 connection을 접속했을 때의 화면이다. 한 connection내에 여러 SQL script file을 열 수 있으..
2. 자료구조 - 링크드 리스트 [Python으로 진행하는 자료구조 공부] 1. 링크드 리스트 : 순차적으로 연결된 공간에 데이터를 넣는 구조인 배열과 달리, 저장공간이 떨어져 있어도 포인터로 연결해서 관리하 는 데이터 구조 : 기본 구조 - 노드 (Node) : 링크드 리스트의 한 데이터블럭 --> (데이터 값, 포인터)의 구조로 이루어짐 - 포인터 (Pointer) : 각 노드에서, 다음 또는 이전 노드의 연결 정보 (그 노드의 주소 정보)를 가지고 있는 공간 : 장점 - 미리 사용할 데이터 공간을 할당하지 않아도 됨 : 단점 - 연결 정보를 담는 공간이 따로 필요하기 때문에 공간 효율이 그리 좋지 않음 - 원하는 정보에 접근하는데 시간이 걸림 - 삽입이나 삭제가 일어날 때, 포인터들의 정보를 다시 설정해줘야하는 번거로움이 있음 *..
1. 자료구조 - 배열, 큐, 스택 [Python으로 진행하는 자료구조 공부] 단순히 혼자 기억을 상기시키는 목적의 글입니다 틀린 부분이 있을 수도 있으니, 발견 시 댓글로 남겨주시면 감사하겠습니다 :) 1. 배열 : 동일한 타입의 데이터를 순차적으로 저장하는 구조 : 각 데이터에 접근하기 위해서 인덱스를 활용함 - 장점 : 인덱스를 활용하므로 데이터 요소에 접근이 쉬움 - 단점 : 최대 배열 크기를 초기에 설정해 둬야 함. 따라서 데이터의 삭제와 삽입이 어려울 수 있음 잔여 공간 크기보다 큰 데이터를 추가할 경우 추가가 불가능하며, 정해진 크기의 배열에서 데이터 일부를 삭제하는 경우 저장 공간의 낭비가 발생함 * 파이썬은 배열 기능을 리스트 타입이 제공함 - 1차원 배열 : 인덱스는 0부터 시작. - 2차원 배열 : 배열이 2차원이므로 ..
0. 자료구조 / 알고리즘 진로 결정을 너무 늦게 한 나머지, 컴퓨터 공학 부전공 이제야 시작했다. 그 결과, 기본 중에 기본이라는 자료구조와 알고리즘 수업조차도 이수하지 못한 상태다. 하지만, 이 관련 분야로 어떤 것을 하든 코딩테스트를 보고 코테는 알고리즘을 익히고 있느냐가 기본 베이스이므로 공부를 해야겠다 하고 마음먹게 되었다. 그냥 독학을 하는데에는 한계가 있다고 생각돼서, 친구와 함께 인터넷 강의를 듣는 스터디를 하기로 했다. 주 언어는 파이썬이므로, 파이썬을 이용하여 자료구조와 알고리즘 공부를 할 예정이며 매주 공부한 내용을 스스로 기록하고자 내용을 업로드하고자 한다.
ADsP 자격증 드디어 4-1학기에 취득한 마지막 자격증!!! 동기간에 3개나 도전하는 것은 정말 쉽지 않았다.. 그래도 벼락치기하는 건 내 공부스타일이 아니기 때문에 (비록 이 자격증 공부 기간은 그리 길지 못했지만 ㅠㅠ) 3주-2주 반 정도의 시간은 들였던 것 같다, 통계학을 전공하는 것이 아니어서, 통계적인 개념들이 조금은 낯설기도 잘 다가오지 않을 때도 있었다, 그래도 공부는 확실히 하는 것이 좋으니, 모르는 내용은 찾아보고 이해하려고 노력했다. 이 자격증도 역시 정리를 하면서 공부를 했고, 이렇게 한 것이 역시나 큰 도움이 됐다. 항상 내 공부 방법은 1회독은 오래 걸리지만, 그다음 회독이 편해진다. (필요한 내용을 찾기도 편하고 시험 전날 다시 보기도 너무 좋기 때문,,) 데이터 에듀 책이 정리가 잘 되어있어..
SQLD 자격증 데이터에 대해서 관심을 가지게 되면서, 언젠가 데이터베이스는 꼭 다룰 일이 생길 거라 생각했다. 인프런에서 강의를 잠시 보면서 어느 정도 개념은 접하긴 했지만, 아직 부족하다는 생각이 들었다. 그래서 4-1에 데이터베이스 과목을 수강하면서, 겸사겸사 자격증도 따 보자 하는 마음에 시작했다. 결과적으로 이렇게 수업과 자격증을 병행하는 것은 너무 좋은 선택이었다고 생각한다. 데이터진흥원의 가이드 북을 pdf로 변환해 놓은 것이 있어 그 파일들을 2회 정도 정독했다. 꾸준히 내용을 익혔고, 실전문제집을 풀고 모르는 문제는 다시보고 (사실 아는 문제도 다시 답지를 보고 정리했다) 시간이 많이 걸려도 꼼꼼히 내용을 살폈다. 사실 이게 단기간 자격증을 따려는 사람에게는 안 좋은 공부법이지만, 나는 정말 SQL에 대..
정보처리기사 필기 코로나로 시간이 많이 생겨버린 4학년 1학기, 어떻게든 시간을 유용하게 사용해야겠다는 생각을 했다. 그리고 미래에 대해 복잡한 생각이 많은 요즘이라 집에서 뭐든 해보자 하는 마음이 컸다. 그렇게 시작하게 된 정보처리기사. 엄청난 스펙이 될 수 없지만, 기본적인 개념들도 한 번 접해보느냐 아니냐는 정말 다르다고 생각했다. (실제로 공부를 하고 나서 정말 그렇다는 걸 다시 한번 느낌) 하필 2020년도부터 NCS기준으로 개정되어 이전 기출 문제도 소용없는 상황이었다. 엎친데 덮친격으로 코로나가 터져버려서 3월에 시작한 공부를 5월 말이 되어서야 마칠 수 있었다. 원래 자격증이란 커트라인만 넘게 공부하는 것이 효율적인 것인데, 나는 그게 잘 안된다. 그래도 더 확실히 공부해봤다는 데에 만족한다. 학업, 논문을..