본문 바로가기

전체 글

[C++][STL] Vector 기본 사용법 및 예제 활용 인트로 안녕하세요! 오늘은 C++ STL중 하나인 벡터(Vector)의 기본 함수와 예제에 대해서 알아보도록 하겠습니다. 벡터 기본함수는 push_back, pop_back, front, back, clear, begin, end, rbegin, rend, reverse 등이 있습니다. 목차 1) Vector란? 2) Vector의 헤더파일 3) Vector의 생성 방법 4) Vector의 멤버 함수(접근, 삽입/삭제, 크기 등) 5) for문, iterator로 접근하는 Vector6) Pair, Tuple 클래스와의 활용 1. Vector란? Vector(Queue)은 동적 배열 구조를 C++로 구현한 것으로 맨 끝에서만 삽입 및 삭제가 일어나는 구조입니다. 일반 배열과 차이점이라면 동적으로 크기가 .. 더보기
[C++] 날짜를 초로 변환 (date to seconds) 인트로 안녕하세요. 오늘은 날짜를 초로 변환하는 방법에 대하여 포스팅하겠습니다. C++에는 JAVA 와 달리 Calendar, SimpleDateFormat 클래스가 없기 때문에 두 날짜를 비교하기 위해서는 초(seconds)로 변환해 비교해야합니다. 문자열로 나타내어져 있는 시간을 파싱하여 연,월,일, 시,분,초로 나누고 시간을 초로 변환해보겠습니다. 입출력 형태 입력 형태 : "2020:11:03 16:09:30" (2020년 11월 3일 16시 9분 30초") 출력형태 : 현재 날짜가 몇 초인지 출력 문자열 파싱 stringstream 클래스를 통해 long long 타입에 맞는 데이터(time)만 순서대로 빼냅니다. 데이터(time) : 연(year) / 월(month) / 일(day) / 시(h.. 더보기
[후기] 갤럭시 버즈 플러스 핑크 후기 [내돈내산] 갤럭시 버즈 플러스 후기 얼마전 쿠팡을 통해 삼성전자의 갤럭시 버즈 플러스 핑크를 제 돈으로 구매했습니다. (광고아님) 구매가격 : 약 12만원 음악재생이 단독으로 11시간, 케이스 충전 시 11시간 플러스 된다고 하니 (아래 사진 참조) 총 22시간 사용할 수 있다고 나와있는데 대략적으로 그 정도 시간은 가는 것 같습니다. 또한 갤럭시 유저로써 현재 가지고 있는 갤8 과 호환이 좋다는 점이 마음에 들었습니다. (Galaxy Wearable 앱과 페어링됨, 블루투스 On시 설정하지 않아도 자동 연결된다는 점) → 구매처 (쿠팡) : https://coupa.ng/bOQyts 갤럭시 버즈 플러스 박스를 처음 열었을 때 모습입니다 :D 핑크 색상이 마음에 들어 결제했는데 처음 딱 열었을 때, 핑.. 더보기
[C++][STL] Stack 기본 사용법 및 예제 인트로 오늘은 C++의 STL중 하나인 Stack(스택) 기본 함수에 대해서 알아보도록 하겠습니다. 목차 1. 스택(Stack)이란? 2. 스택 헤더 파일 3. 스택 기본 함수 1. 스택이란? 스택(Stack)은 대표적인 LIFO(Last In First Out) 구조입니다. 따라서 제일 마지막에 넣은 데이터가 처음으로 빠져나오는 것을 볼 수 있습니다. 스택의 기본함수에는 push, pop, empty, top, swap 등이 있습니다. 2. 스택 헤더 파일 stack STL을 사용하기 위해서는#include 헤더파일을 포함해야 합니다 . stack 이름 ; 으로 stack을 선언합니다. #include stack stack; 3. 스택 기본 함수 ▷ 스택에 데이터 추가하기 스택이름.push(데이터) 형.. 더보기
[C++] 이차원 배열 동적할당하기 동적할당(dynamic memory allocation)이란? 특정 시점에 원하는 만큼 생성하고, 삭제할 수 있습니다. C++ 에서는 new 생성자에 의해 생성되고, delete 에 의해 삭제됩니다. 즉, 메모리의 크기가 프로그램이 실행하는 동안 동적으로 결정되는 형태입니다. 따라서 메모리의 할당 시점, 해제 시점을 개발자가 마음대로 정의할 수 있다는 장점이 있습니다. 또한, 정적변수는 메모리의 스택에 저장되는 반면 동적할당을 통해 선언한 변수는 메모리의 힙영역에 저장됩니다. 메모리 할당이란? 컴퓨터로부터 메모리를 얻어오는 일입니다. 즉, 메모리를 확보하는 과정입니다. 메모리 해제란? 확보한 메모리를 컴퓨터에 반납하는 과정입니다. 메모리 누수란? 동적할당 후, 메모리를 해제하지 않으면 메모리의 사용량이 .. 더보기
[Python] Numpy 배열 함수 Numpy 배열 생성하기 Numpy란? 다차원 배열을 처리하는 데 필요한 여러 기능을 정의해놓은 파이썬 라이브러리입니다. Numpy는 배열에 동일한 타입의 값(데이터)만 삽입해야 합니다. Numpy를 사용하기 위해 라이브러리를 import합니다. import numpy as np Numpy 라이브러리 함수 - 배열 생성 1. array() : 동일한 타입의 데이터 배열 생성하기 import numpy as np array = np.array([0,1,2,3,4,5]) 2. zeros() : 0이 들어있는 배열 생성하기 import numpy as np array = np.zeros(2) print(array) 결과) 배열의 모든 값이 0으로 초기화된 것을 볼 수 있습니다. [0 0] 3. ones() :.. 더보기
[Spring] 네이버 API 데이터 연동 방법 인트로 최근, Spring 공부를 시작하며 네이버 영화 API를 받아 날씨에 따른 영화 추천 서비스를 웹으로 만들어보려 합니다. 본 글은 영화 API 데이터를 연동하여 처리하는 방법에 대해서만 나와있습니다. 아래 네이버 Develops 사이트에 API에 대한 사용 방법이 자세히 나와있어 참고했습니다. developers.naver.com/docs/search/blog/ 검색 API 블로그 검색 개발가이드 NAVER Developers - 검색 API 블로그 검색 개발가이드 developers.naver.com 네이버 API 사용 방법 1. JSON 파싱 환경 세팅 [의존성 주입] JSON을 파싱하기 위해 pom.xml에 json 파싱 dependency를 추가합니다. com.googlecode.json-.. 더보기
[C++] stringstream 사용법 인트로 안녕하세요. 오늘은 C++의 Stringstream 사용법에 대해 포스팅하겠습니다. C++에서 여러가지 자료형이 한 줄에 들어오면 파싱해서 용도에 맞게 사용할 필요가 있는데요. 특히 "이름 날짜 내용"과 같은 문자열로 한 줄의 데이터로 들어오면 각각 이름, 날짜, 내용등으로 파싱해서 사용하기 위해 많이 활용됩니다. 그 때 stringstream이 굉장히 유용한 라이브러리입니다. 1) 문자열을 나누는 stringstream C++에서 stringstream은 주어진 문자열에서 필요한 자료형에 맞는 정보를 꺼낼 때 유용하게 사용됩니다. stringstream에서 공백과 '\n'을 제외하고 문자열에서 맞는 자료형의 정보를 빼냅니다. ˙ #include 전처리 헤더를 필수로 포함해야 합니다. ˙ stre.. 더보기