Programming
-
[C++] 공용체 UnionProgramming/c++ 2023. 9. 13. 21:55
Union 공용체는 하나의 정해진 데이터형이 아니라 int, float 같이 여러개의 데이터타입을 사용해야 할 때 유용합니다. 개체가 많고 메모리가 제한된 경우 메모리를 절약하는데 유용할 수 있지만, 주의해서 사용해야 합니다. 구조체와 비슷하지만 모든 멤버 변수가 하나의 메모리 공간을 공유한다는 점에서 다릅니다. union은 내부에 여러개의 데이터 타입의 멤버 변수를 선언하지만 실제 사용시에는 하나의 멤버 변수만 사용할 수 있습니다. 공용체는 크기가 가장 큰 멤버 변수의 크기로 메모리를 할당받습니다. Example 1 union uData { char c;// 1byte int i;// 4byte short s;// 2byte long l;// 4byte float f;// 4byte double d;/..
-
[c++] trim( ), 공백, 개행, 탭 제거 (whitespace 제거)Programming/c++ 2023. 6. 15. 14:06
java에서는 trim( ) 함수를 제공하지만 C++에서는 boost 라이브러리 사용하지 않으면 제공하지 않습니다. 그래서 trim( )처럼 사용하기 위한 예제들을 포스팅하겠습니다~ 문자열의 왼쪽(선행), 오른쪽(후행)에 whitespace가 있다면 제거하는 방법입니다. Whitespace 문자 유니코드 이름 약칭 U+0020 space SPC \t U+0009 horizontal tab TAB \n U+000A newline LF \v U+000B vertical tab VT \f U+000C feed FF \r U+000D carriage return CR ASCII Code 이름 10진 16 문자 horizontal tab 9 0x09 HT newline 10 0x0A LF vertical tab ..
-
[Python] DequeProgramming/Python 2023. 6. 3. 15:55
list를 이용해서 queue처럼 사용할 수 있습니다. queue = [1, 2, 3] queue.append(4) #[1, 2, 3, 4] queue.pop(0) #[2, 3, 4] queue.insert(0, 5) #[5, 2, 3, 4] 하지만 list를 queue처럼 사용하는 것은 성능 측면에서 추천되지 않습니다. list는 Random Access에 최적화된 자료구조이기 때문에 pop(0), insert(0, x)는 성능적으로 매우 불리한 연산입니다. 이 연산의 시간 복잡도는 O(n)입니다. Deque collections 모듈의 deque를 사용해서 queue, stack 자료구조를 구현할 수 있습니다. collections에 queue도 있지만 Deque가 훨씬 빠르니 코딩테스트에서는 Deq..
-
[Python] 리스트 컴프리헨션 List ComprehensionProgramming/Python 2023. 6. 3. 13:36
List Comprehension 리스트 안에 표현식(계산식)과 for문, if문을 한줄에 넣어서 새로운 리스트를 만드는 것입니다. 여기서 리스트는 list, tuple, dictionary, set 등 컨테이너 모두 해당합니다. 또한 표현식에 수식 뿐만 아니라 함수도 사용 가능합니다. Example 리스트 생성 [ x for x in range(1, 10+1)] #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [ 2*x for x in range(1, 10+1)] #[2, 4, 6, 8, 10, 12, 14, 16, 18, 20] 조건 걸기 [ x for x in range(1, 10+1) if x % 2 == 0] #[2, 4, 6, 8, 10] [ x for x in range(10) i..
-
[python] poetry install , 설정Programming/Python 2023. 4. 28. 09:55
install poetry Linux, MaxOS, Windows(WSL) curl -sSL https://install.python-poetry.org | python3 - 블로그에 복사 방지를 해놔서 명령어를 txt에 파일에 적어서 첨부했습니다~ Windows (Powershell) (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py - 저는 윈도우를 사용중인데 Powershell 명령어를 사용해서 설치했습니다. poetry 설치 경로 - Unix $HOME/.local/bin - Windows %APPDATA%\Python\Scripts 환경 변수 추가 다운로드 받은 poetry를 cmd에서 ..
-
[Java] Java, JVM 개념 정리Programming/Java 2023. 4. 27. 12:38
Java Java란? Sun Microsystems에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어입니다. 자바는 운영체제에 독립적이라는 특징이 있어 운영체제의 종류에 관계없이 실행이 가능합니다. 이는 JDK(Java Development Kit)라는 개발 도구가 있기에 가능합니다. 특징 1. 운영체제에 독립적 자바가 운영체제에 독립적으로 사용할 수 있는 이유는 일종의 애뮬레이터인 JVM(Java Virtual Machine)을 통해서 가능합니다. 자바 응용 프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달합니다. 자바로 작성된 프로그램은 운영체제에 독립적이지만 JVM은 운..