본문 바로가기

전체 글31

[C++ STL][최소 기준개념] 벡터(Vector)란? 벡터(Vector)개념 벡터(Vector)란, 동적 배열구조 입니다. 배열 같은 경우 크기를 주게 된다면, 수정하기가 어렵지만 벡터의 경우에는 수정하기가 쉬워집니다. 벡터에서 알고리즘에서 자주 쓰이는 멤버함수를 정리하였습니다. int vec;로 기준삼아 정리하였습니다. 반복자 vec.begin() : beginning iterator를 반환 vec.end() : end iterator를 반환 추가 및 삭제 vec.push_back() : 벡터 제일 뒤에 원소 추가 vec.pop_back() : 벡터 제일 뒤에 원소 삭제 조회 vec[i] : i번째 원소를 반환 vec.at(i) : i번째 원소를 반환 vec.front() : 첫번째 원소를 반환 vec.back() : 마지막 원소를 반환 기타 vec.em.. 2020. 8. 25.
[최소 기준잡기]TCP/IP 포트 번호의 이해 포트번호가 쓰이는 유사한 사례 살펴보기 은행에 가보면 은행 마다 전담 창구가 있다. 1번 창구는 예금 2번 창구는 대출 3번 창구는 외환 등.. 서비스에 따라 분류된 전담 창구에 은행원이 배치되어 고객을 기다리고 있다. 고객은 원하는 서비스에 따라서 전담 창구로 가야한다. 서버 컴퓨터(은행)역시 여러 서비스를 제공하는데, 여러 TCP/IP 포트(창구)를 열어 놓고 클라이언트의 접속을 기다리고 있다. 포트에 따라 서비스가 서로 다르다. 가장 대표적으로 많이 쓰이는 포트를 예를들자면 80번 포트는 http, 20번 포트는 파일 전송 ftp, 23번 포트는 원격 로그인 서비스인 telnet 서비스이다. 생각을 해보자 은행에서도 왜 굳이 서비스를 나누어서 했을까? 원하는 서비스를 보다 빠르고 효율적으로 처리 할.. 2020. 8. 5.
[디지털 노마드를 위한]공간에 대한 이해 공간에 대한 이해의 첫걸음 재택근무에 대한 이야기뿐만 아니라, 집에서 집중하는 일에 대한 전반적인 이해를 해보고자 한다. 흔히들 요즘 말로 디지털 노마드라고 부르는 것 같다. 집뿐만 아니라 다른 곳에서 노트북 하나로 일을 본다라는 의미 본론으로 넘어가기 이전에 잠깐 생각해보자, 우리가 공부를 해왔었던 상황 속에서 집에서 공부하는 것보다, 다른 공간에서의 집중이 더 잘 됐었던 경험이 있었을 것이다. 예를 들어, 도서관에서 공부와 독서실에서 공부, 스터디 카페에서의 공부 등 우리는 집에서만 일을 하거나 or 책을 읽기 등을 하게 되는 경우 집중력의 한계가 오기도 한다. 특히 여름.. 높은 온도와 높은 습도는 집중도가 하락이 오게끔 하며, 가까운 침대는 드러누울 수 있는 하나의 수단으로 전락하고 만다. 이뿐만.. 2020. 7. 29.
[최소 기준잡기]객체란? 객체의 개념 객체에 대한 이해 사람은 1. 이름 2. 나이 3. 성별 4. 사는 곳 등.. 위의 4가지와 같은 속성(Property)이 있다. 사람이 아닌 다른 물체로서 찾아보자면, 은행계좌가 있겠다. 은행 계좌도 하나의 객체로서 1. 계좌의 주인(소유자) 2. 계좌번호 3. 잔액 같은 속성이 있다. 숫자로 나타내는 게 편하기 때문에, 은행계좌를 코드로 나타내 보겠다(Java Script를 이용) 아래의 코드를 모두 이해하면 좋겠지만, 하나하나 모르더라도 괜찮다. 일단 객체의 이미지화를 느끼면 되기에 var account = { owner = "철수", //은행계좌의 프로퍼티(속성) balance = 10000, //은행계좌의 프로퍼티(속성) deposit = function(){...} // 은행계좌의.. 2020. 7. 21.
[C++]C++ STL 이란? C++ STL 이란? C++ STL이란, C++ Standard Template Library의 줄임말이다. 영어 그대로 뜻을 가져가보면 표준 템플릿 라이브러리이다. 말 그대로 템플릿이란, 표준에 맞게 어떠한 도구들을 모아놓은것을 의미한다. 이게 무슨소리인가? 정렬들을 보면서 이해 하도록 하자. 정렬에서 오름차순을 원할 경우 임시 변수(temp)등 을 사용하여 길고 긴 코드를 써야하지만 c++ stl 에서 제공해주는 #include을 쓰게 된다면 sort() 한방으로 끝나게 된다. 누군가가 여러개의 코드를 사용하여 귀찮은것을 함수 하나에 담아내어 편리성을 극대화 한것이다. C++ STL의 종류? 그렇다면 C++의 종류는 무엇이 있을까? 많은 개념들이 있겠지만, 우선 현재 내가 풀어본 문제들을 기준삼아 정.. 2020. 7. 13.
[알고리즘을 위한 도구]파이썬 datetime 라이브러리 파이썬 datetime 라이브러리란? 알고리즘 문제를 풀 때 주로 C나 C++를 이용하여 풀고 있다. 하지만 가끔씩 Python으로 제작된 코드들을 보면, 정말 신기할 정도로 간단한 함수가 내재되어 있는 것을 확인할 수가 있다. C나, C++의 경우에는 코드가 여러 줄로 써지지만, Python에 내장된 라이브러리를 import 하여 가져올 경우에는 보다 쉽게 이용할 수 있다는 점이다. 물론 1. 시간 복잡도, 2. 메모리 등 다른 경우의 수를 고려해야 하지만, 일단 이 글은 내가 알고리즘 문제를 해결해나갈 때 보다 편한 방식으로 문제를 풀었던 지식들을 정리하고자 한다. 그렇다면 datetime 라이브러리에서 제공해주는 함수를 문제로 바로 살펴보자 다른 datetime라이브러리에서 제공해주는 다른 함수들은.. 2020. 7. 13.