전체 글(153)
-
[Jetson Nano] Libtorch 사용 과정 복기
Jetson Nano에서 Libtorch를 사용하기 위한 과정을 복기중요한 것은 Pytorch에서 Libtorch를 제공하는데, 그것은 x86-64 아키텍쳐 기준이므로 라즈베리파이, 젯슨과 같이 arm64 아키텍쳐인 경우 새롭게 빌드를 해주어야한다. 세부적인 과정은 Pytorch Official 페이지를 참고했다.git clone -b v2.0.0 --recurse-submodule https://github.com/pytorch/pytorch.gitmkdir pytorch-buildcd pytorch-buildcmake -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release -DPYTHON_EXECUTABLE:PATH=`which python3` ..
2024.11.11 -
[백준] 14567 - 선수과목
문제 링크https://www.acmicpc.net/problem/14567느낀 점위상정렬의 가장 기본적인 문제 형태라고 생각된다.진입차수를 따져주는 것이 위상정렬에서 키 포인트라고 생각되는데, 진입차수에 대한 배열을 만들고 진입차수가 0인 경우에만 다시 큐에 넣어서 순회해주어야 시간초과, 메모리 초과를 피할 수 있다!입력에 대해 두 가지 자료구조를 생각해볼 수 있다. 아마 현재 문제에서는 입력 값의 길이가 500000이라서 vector>도 괜찮을 수 있지만, 입력 값의 길이가 더 커진다면, 아마 map으로 조회를 해야 시간 초과가 안 날 것 같다! map의 조회성능 : O(logN), 삽입, 삭제 성능: O(logN)인접리스트의 조회성능 : O(1), 삽입, 삭제 성능: O(N)map> courses;..
2024.08.16 -
[백준] 5430 - AC
문제 링크https://www.acmicpc.net/problem/5430느낀 점1. 문자열은 왠만하면 문자열로 처리하는 게 좋다.2. 크기가 큰 문자열을 함수의 인자로 받을 때, 참조 변수를 이용하면 메모리 낭비를 줄일 수 있다.3. rbegin, rend를 이용하면 순회를 더 깔끔하게 할 수 있다.#include #include #include #include using namespace std;deque nList;void divide(const string& str){ nList.clear(); string temp = ""; for (auto ch: str) { if (ch == '[') { continue; } el..
2024.08.11 -
[C] 문자열과 배열
다른 글에서 배열 인덱싱 연산자에 대해서 다루었다.그렇다면 왜 문자열에서는 배열과 동일하게 연산자가 동작할까 ? 아래의 코드는 정확하게 동일한 결과를 출력한다. #include int main(){ char ary[6] = "hello"; for(int i = 0; i 컴파일러의 문자열 처리컴파일러에서는 문자열 상수의 값을 문자열 배열로 처리하게 된다. 즉, 아래와 같이 표현할 수 있다. 그렇기 때문에 배열의 배열 인덱싱 연산자가 문자열 상수에서 동일하게 동작하는 것이다."hello" == char ary[6];
2024.07.28 -
[C] 배열 인덱싱 연산자
포인터는 아래와 같이 사용된다. 변수의 주소를 포인터 변수로 선언할 수 있고, 그 변수를 *를 이용해서 de-referencing하면 해당 변수의 메모리에 있는 값에 접근할 수 있다. #include int main(){ int a = 10 int *pa = &a; printf("%d", *pa); // 10 return 0;}배열은 동일한 타입의 데이터를 일렬로 저장하는 자료구조인데, 그렇기 때문에 특수하게 배열명의 이름은 배열의 첫 번째 주소의 원소를 가르키게 된다. 따라서 아래와 같이 작성하면 배열의 원소를 출력할 수 있다. #include int main(){ int ary[5] = {10, 20, 30, 40, 50}; for(int i = 0; i 아래와 같이 ..
2024.07.28 -
[C] 포인터 변수를 사용하는 swap 함수의 이해
포인터 변수를 배울 때 실패한 swap함수의 사례로 아래와 같이 작성한다.#include void swap(int* a, int* b){ printf("swap func inner value a: %d, b: %d\n", a, b); int tmp; tmp = a; a = b; b = tmp;}int main(){ int a = 10, b = 20; printf("a value: %d, b value: %d\n", a, b); swap(&a, &b); printf("a value: %d, b value: %d", a, b); return 0;}직관적으로 생각해보면 왜 위의 함수가 동작하지 않는 지 이해가 잘 안된다. swap함수 내부의 a 변수에는 m..
2024.07.28