프로그래밍 언어

    [C++] 2차원 vector 크기 동적으로 재설정

    아래와 같이 이미 초기화가 된 벡터에 resize 함수를 사용하면 열이 제대로 반영이 안되는걸 볼 수가 있는데 2번째 인자인 vector(5)는 임시 객체이기 때문에 본 객체에 변경이 반영되지 않는다.int main(){ vector> a(7, vector(6)); a.resize(5, vector(5)); a[0].resize(5);} 해결 할 수 있는 방법은 새로운 임시 객체를 만들어 재할당 하는것이다vector> a(7, vector(6));a = vector>(7, vector(5)); 코딩테스트 때 유용하게 써먹자

    [C++] vector (벡터) 복사하기

    반복자#include #include using namespace std;void printVector(const vector v) { cout vect1{1, 2, 3, 4}; vector vect2; for (int i = 0; i  출력Old vector elements are : 1 2 3 4 New vector elements are : 1 2 3 4 The first element of old vector is :2The first element of new vector is :1할당 연산자 =(Assignment Operator =)#include #include using namespace std;void printVector(const vector v) { ..

    [C/C++] 부동소수점의 비교연산 안되는 이유 및 오차범위 해결하기

    int i = 0;double d = 0.f;while (i++  사실 C++에선 다 자르고 출력하기 때문에 파악하기가 쉽지 않다  아래와 같이 작성해주면 쉽게 파악 할 수가 있다 따라서if (d == 1.0) 를 해주면 false가 나오는 이유다int main(){ int i = 0; double d = 0.f; while (i++  이녀석만큼 빼주면 된다int main(){ int i = 0; double d = 0.f; while (i++

    [SQL] 자료형

    컬럼의 자료형1) 숫자형     TINYINT, INT, FLOAT2) 문자형     CHAR, VARCHAR, TEXT, ENUM3) 날짜형     DATE, DATETIME, TIMESTAMP 숫자형 자료형1) TINYINT- 가장 작은 숫자 자료형.- 부호가 있는 경우 -128 ~ 127.             - 부호가 없는 경우 0 ~ 255.             - 1byte 크기를 갖는다. 2) SMALLINT- 부호가 있는 경우 -32768 ~ 32767.- 부호가 없는 경우 0 ~ 65535.- 2bytes 크기를 갖는다.3) MEDIUMINT- 부호가 있는 경우 -8388608 ~ 8388607.- 부호가 없는 경우 0 ~ 16777215.- 3bytes 크기를 갖는다. 4) INT-..

    [C++] 구조체 바이트 패딩 규칙 코드 (structure byte padding or align rule)

    1. Unless overridden with __declspec(align(#)), the alignment of a scalar structure member is the minimum of its size and the current packing."__declspec(align(#))을 오버라이드 하지 않으면, 스칼라 구조체(long, bool과 같은 일반 변수로만 이루어진 구조체)의 멤버는 변수의 사이즈와 현재 지정된 byte padding align을 따른다." bool과 long으로만 이루어진 각 구조체의 사이즈는 1 byte, 4 byte와 같이 각각의 멤버 사이즈대로 align 되었다.struct Size_1_Align{ bool b;};struct Size_4_Alig..

    [Python] f-string (문자열)

    기존 문자열 방식 1. 더하기 키워드 person1 = "철수" person2 = "영희" print(person1 + "는 " + person2 + "를 좋아한데요!") 2. % 서식 person1 = "철수" person2 = "영희" print("%s는 %s를 좋아한데요!"%(person1, person2)) 3. str.format 함수 person1 = "철수" person2 = "영희" print("{}는 {}를 좋아한데요!".format(person1, person2)) 이렇게 그동안 사용해오던 문법들은 각 단어가 어느 부분에 전달되는지, 어떤 기호를 빼고 읽어야 하는지 깊게 관찰이 필요하지만 f-string은 매우 직관적이고 가독성이 뛰어나다. person1 = "철수" person2 = ..

    [C#] Newtonsoft.Json 사용방법

    먼저 Nuget으로 Newtonsoft.JSON을 다운, 참조한다. 샘플 코드 아래 data1와 data2를 참조하려면 JsonExample 클래스로 받아와야 하는데 이때 제너릭 함수를 활용한다. using System; using Newtonsoft.Json; namespace NewtonsoftExample { class JsonExample { public int data1 { get; set; } public string data2 { get; set; } } class Program { static void Main(string[] args) { // Json 형식의 데이터 var json = "{'Data1' : 1, 'Data2' : 'Test'}"; // Json 형식의 string 값을 ..

    [C#] Visual Studio Nuget 설치

    [도구] -> [Nuget 패키지 관리자] 에서 찾을 수 있다. gui 환경과 콘솔 환경에서 패키지를 다운 받아 사용할 수 있다. [도구] -> [Nuget 패키지 관리자] -> [솔루션용 Nuget 패키지 관리..] 에 들어간다 관련 패키지를 검색한다. [찾아보기] 를 클릭해 해당 패키지를 검색할 준비를 한다. 설치하고 하는 패키지를 입력 및 적용 프로젝트를 선택한다. 설치할 프로젝트를 검색 후, 해당 패키지를 선택한다. 그리고 왼쪽 창에서 적용할 해당 패키지를 선택한다. 그리고 설치를 클릭한다. 예제로 redis 설치하고, hello_world 프로젝트에 적용하겠다. 설치정보를 확인한다. 설치 완료를 아래 출력창에서 확인하다. 출처

    [C#] Nuget이란?

    NuPack 기반의 NuGet은 free and open-source package manager desigend for the MS developer platform 이다. .Net 프레임워크를 위한 소스코드 관리자이다. C# 기반으로 시작되어, 2013년 부터 native c++ 프로젝트를 지원하면서 visual studio에서 가장 대표적인 오픈소스 지원 프로젝트 2010부터 시작되어, 2012 vs 버전 부터는 기본설치로 제공 되었음. NuGet은 visual studio add-in 으로서, .net을 기본으로 하여, c++, cross-platform 지원 등을 통해, 그 범위를 넓혀 다양한 오픈소스 프로젝트들을 지원함으로서, NuGet Eco-System을 구축해 나아가고 있다. 환경 NuG..

    [Python] pass, continue, break 차이점

    pass 1. 조건문에서 넣어줄 조건이 딱히 없을 경우 2. class 선언할 때, 초기에 넣어줄 값이 없을 때 for i in range(10): if i % 2 == 0: pass print(i) else: print(i) print("Done") 0 1 2 3 4 5 6 7 8 9 Done continue 다음 loop를 실행한다 for i in range(10): if i % 2 == 0: continue print(i) print(i) print("Done") 1 3 5 7 9 Done break 반복문을 멈추고 밖으로 탈출하게 된다 for i in range(10): if i % 2 == 0: break print(i) else: print(i) print("Done") Done https:/..