coding Tips & Tricks 7

python) n차원 리스트 선언하기, 리스트 컴프리헨션!

C언어의 경우 n차원 리스트로 2*3*4크기를 만든다면 int arr[2][3][4];이런식으로 선언만하면 만들어지지만, python의 경우 append형식이기에 기본적으로 n차원 리스트로 선언이 불가하다. 과거 C를 하다가 python으로 넘어온 필자의 경우  append 방식이 익숙하지 않아서 python에도 미리 선언해두고 값만 바꾸는 방법을 쓰기 위한 이유로 여러 자료를 찾은 적이 있다.기본적으로 n차원 리스트를 선언하는 예로 2차원으로 n*m의 리스트를 선언한다고 하면for i in range(5): list1.append([0, 0, 0, 0, 0, 0, 0, 0])print(list1)#output:#[[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0..

C++) ios_base::sync_with_stido(0); cin.tie(0); cout.tie(0);이 무엇인가?

ios_base::sync_with_stido(0); cin.tie(0); cout.tie(0);이는 기본적으로 입출력 할때에 C++의 cin, cout의 경우 C의 printf,scanf보다 느리기에 이 입출력의 속도를 빠르게 하기 위해서/C와 속도를 비슷하게 되기 위해 쓰게된다고 알게되는 함수이다.이번에는 이 함수들에 대해 알아볼 것이다.std::ios_base::sync_with_stdio(bool _Newsync = true);맨 뒤에 들어가는 숫자는 bool값으로 즉 true, false를 나타낸다. true가 기본값이다.이 이유는 output 데이터가 엉키지 않고 올바른 순서로 처리되도록 하기 위해 동기화를 활성화하기 때문이다.C++ 표준 스트림들이 C 표준 스트림들과 각각의 입출력 연산 후에..

C/C++) Visual Studio 중단점 사용하기

Visual Studio 2022 기준이며, 기본적인 중단점 사용 및 메모리 사용에 대해 다룬다.기본적으로 중단점은 열 왼쪽에 회색 열에 찍는다. 사용 방법중단점을 사용하는 이유는 코드가 중간 중간 어떻게 돌아가는지 확인하는 이유도 있지만, 메모리를 확인해보기 위해 사용하기도 한다.메모리창 키는 방법1. 중단하고 싶은 코드를 쓴 상태에서 F5(no ctrl+F5)2. 위의 선택창 중에 디버그(D) 클릭3. 창(W) 클릭4. 메모리(M) 클릭5. 메모리(1) 클릭6. 원하는 곳에 메모리 창 표시 메모리창에 있는 수는 기본적으로 16비트이며, 변수의 데이터 형식에 따른 바이트 값을 가진다.(예: int형은 4바이트)원하는 변수를 찾을 때에는 메모리1에서 주소: 부분에 &(찾으려는 변수)이런식으로 검색한다.문..

C/C++) #include<[ ].h> #include<[ ]> 차이는?

C와 C++을 다루어보면서 알게된 사실이 있다.#include #include 여기의 [      ]이 부분을 string이라 한다면(이렇게 쓰는 이유는 string카테고리가 이미 있다)#include와 같은 형식은 보통 C언어에서 볼 수 있고, #include와 같은 형식은 보통 C++언어에서 볼 수 있다.그래서 include 뒤에 붙는 string 뒤에 .h가 있는가 없는가로 헤더파일이 C에서 쓰이는 것인지 C++에서 쓰이는 것인지 알 수 있다.C++에서는 C 스타일 헤더를 네임스페이스에 맞게 변경한 버전도 제공한다.예로 기능은 거의 같지만 #include와 #include의 경우 cstdio의 경우 앞에 std::를 써야하지만 말이다.(생략가능)#includeint main() { std::p..

coding tip) 웹으로 코딩 잠깐 작업하기

잠깐 코드 작성하려하거나 다른 친구의 컴퓨터를 잠깐 코드 작성 및 돌릴 목적으로 사용하려했는데, 원하는 언어의 코딩 에디터 or 아이들이 없으면 뭘 다운하기 좀 그렇고 하면 웹에서 잠깐 작성하는 방법이 있다.이와 관련해(온라인 컴파일러라 부른다.) 가장 유명한 것은https://www.onlinegdb.com/ GDB online Debugger | Compiler - Code, Compile, Run, Debug online C, C++Online GDB is online compiler and debugger for C/C++. You can compile, run and debug code with gdb online. Using gcc/g++ as compiler and gdb as debugge..

python) 백준 python3 vs PyPy3

백준을 풀때에 언어 선택지 중에 python3의 경우 당연히 있는 것인데, pypy3가 선택지로써 있다.python이라는 언어는 누구나 알 것이고 그러면 pypy라는 언어가 있는것일까? pypy라는 언어는 존재한다.pypy는JIT 컴파일러를 통해 실행 속도를 최적화하는 기능을 추가한 인터프리터 언어이다.인터프리터 언어한줄 한줄 읽고 실행하고 일고 실행하고 반복ㆍ ㆍ호환성은 문제없음인터프리터언어 but, JIT(Just-In-Time) 컴파일러가 있는JIT(Just-In-Time) 컴파일러를 통해 프로그램 실행 중에 반복적으로 실행되는 코드를 분석하고, 실행 도중에 네이티브 머신 코드로 변환하여 성능을 향상시킴즉, 반복 작업이 있는 코드 실행시 유용하다.NumPy, pandas와 같은 확장 모듈이 없음Py..

C/C++) Tips & Tricks 1.변수 선언

C언어 사용시 입력 받는 변수가 아니라면 모두 따로 0이라던지 1,NULL등으로 초기화하는 것이 필수적이다. 처음에 변수를 선언할 때 초기화하는 것은 중요한 것이다. 초기화하지 않으면 쓰레값이 들어가기 때문이다.(변수 선언 시에 이전에 사용한 메모리로 인해 아무런 의미 없는 값들이 들어가 있을 수 있다.)변수를 선언할 때에온라인 에디터 등에서는 따로 변수를 초기화 할 필요는 없다.잠깐 쓰는 GDB(온라인 에디터)와 같은 경우 처음에 변수를 초기화하지 않아도 코드를 실행할 수 있다.하지만 Visual Studio 2022 등에서는 입력받을 변수가 아닐 때 따로 초기화하지 않으면 변수를 초기화하지 않았다며 코드가 실행하지 않는다.#define _CRT_SECURE_NO_WARNINGS#include int ..