본문 바로가기

전체 글77

[DS] Hash Table 해쉬 테이블 Introduction해쉬 테이블 자료 구조에 대해서 알아보겠습니다. Hash Table이란 검색하고자 하는 key 값을 입력 받아서, hash function를 이용해서 반환 받은 hash code를 배열의 index로 환산 해서 데이터에 접근하는 자료 구조 입니다. 간략하게 도식화하면 아래와 같습니다.F(Key) -> Hashcode -> Index -> Value"Chuck" 494 2 ex) 494 % 3"Song" 407 2"Kim" 289 1"Derick" 594 0"Rachel" 591 0 F()는 hash function이고 key는 문자열, 숫자, 파일데이터 등이 될 수 있습니다. hashcode는 정수, hashcode를 배열의 크기로 나머지 연산해서 얻은 결과가 index입니다. 그리.. 2019. 1. 6.
Mac에서 Virtualenv + tensorflow + Keras 설치하기 Introduction Keras를 사용하려고 하는데 Keras를 쓰기 위한 tensorflow가 python3.7은 지원을 한다 안한다 말도 많고 자꾸 이상한 문제들이 발생했습니다. 그래서 python3.6으로 바꾸려고 했는데 python2, 3, 3.6, 3.7, virtualenv와 brew가 계속 엉켜서 몇 번이나 지우고 다시 깔다보니 글로 정리할 필요가 있겠다 싶어서 포스팅합니다. 일단 저는 기존에 homebrew로 python 3.7을 설치했었기 때문에 아래 명령어로 3.7을 지우고 3.6버전을 다시 설치했습니다. 12$ brew uninstall python$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a7.. 2019. 1. 3.
About me Contact Email: chuck.m.park@gmail.com 배우고, 만들고, 좋아하는 사람들과 시간을 보내는 것을 가장 좋아합니다. 그 다음으로는 개발, 음악, 맛집 탐방, 운동, 투자하는 것을 좋아합니다. 2019. 1. 2.
MAC에서 GCC 컴파일러 사용하기(Command line tools 설치 방법) IntroductionMAC의 콘솔 창에서 gcc를 이용하여 C나 C++ 코드의 컴파일 하는 방법을 알아보겠습니다. 1. Terminal 실행(Ctrl + space -> Terminal 입력) 2. Terminal에 아래 명령어를 이용하여 command line tools 설치 xcode-select --install3. 아래 명령어를 통해 설치가 잘 되었는지 확인gcc -v 4. 컴파일 해보기 아래 코드로 테스트 해보겠습니다. brute_force_search.cpp12345678910111213141516#include #include using namespace std; int main() { int N, arr[1000]; scanf("%d", &N); for (int i = 0; i 2018. 12. 30.
[C++ STL] Vector Introduction벡터(Vector)란 원소가 삽입 또는 제거 됐을 때 컨테이너에 의해서 자동으로 저장 공간이 조절 되는 동적 배열과 같습니다. 벡터의 원소들은 인접한 메모리 공간에 저장되기 때문에 iterator를 이용해서 접근하거나 순회 할 수 있죠. 벡터에서 데이터는 끝 쪽으로 삽입 됩니다. 마지막 위치에 삽입하는 작업은 배열을 연장하고 삽입해야 하는 경우도 있기 때문에 차등적으로 시간이 소요됩니다. 하지만 마지막 원소를 제거할 때는 리사이징 할 필요가 없기 때문에 항상 일정한 시간이 소요됩니다. 처음 또는 중간 부분에 삽입, 제거하는 작업은 시간이 선형적으로 소요됩니다. Basic operationsIterators1. begin(): 벡터의 첫번째 원소를 가리키는 iterator를 리턴합니다.. 2018. 12. 28.
백준 문제 풀이, PS 관련 사이트 모음 제가 푼 백준 문제 소스코드의 최신 목록과 PS 사이트는 아래 Github repositiory에 업로드하고 있습니다. https://github.com/ChungminPark/_problem_solving 문제 번호는 repository에 readme를 참고해주세요!현재 업로드된 문제 목록# Problem SolvingPS(Problem Solving)을 공부하기 위한 자료 모음 입니다. # BOJ## cpp- 10950 A+B - 3- 10951 A+B - 4- 10952 A+B - 5- 10953 A+B - 6- 2675 Repeating Characters- 1100 하얀칸- 2003 수들의 합 2 Brute-Force Search- 1912 연속합- 2309 일곱 난쟁이- 2231 Digit G.. 2018. 12. 28.