본문 바로가기

전체 글18

[Ubuntu 20.04] 우분투에 아나콘다 설치 및 Python 가상환경 설정 Ubuntu 20.04 LTS Python 3.9 Pytorch 1.13.1 Cuda 11.7 위와 같은 버전으로 우분투에 anaconda 설치 및 python 가상환경을 설정하고, pycharm를 설치하여 실행해 본다. anaconda 설치 1. anaconda 공식 사이트에 접속해 버전에 맞는 intaller를 다운받는다. 2. ls로 다운받은 파일을 확인한다. Anaconda3-2022.10-Linux-x86_64.sh bash 명령어로 쉘 스크립트를 실행할 수 있다. 실행해보자. $ bash Anaconda3-2022.10-Linux-x86_64.sh 그러면 약관이 쭉 나온다. 엔터를 눌러 확인하고 약관에 동의하겠냐는 질문에 yes를 입력한다. 아래와 같은 메세지가 뜨면 설치 위치를 지정할 수 있.. 2023. 3. 2.
[C++] leetCode 문제풀이 기록 1 --------------------------기록 양식-------------------------- 시간 (문제해석+풀이 정리까지) 00:00 / (코드 작성까지) 00:00 정답여부 O/X 내 풀이 자유서술 정답 자유서술 재시도(optional) 재시도한 풀이 또는 추후 재시도 시 유념할 것들 98. Validate Binary Search Tree 시간 2:17 / 10:38 정답여부 X 내 풀이 root 노드와 자식 노드의 값만 비교하면 된다고 생각했다. 더보기 class Solution { public: bool isValidBST(TreeNode* root) { if (root==NULL) return true; TreeNode* left = root->left; TreeNode* right.. 2023. 2. 5.
[티스토리 http error 400] 지속적으로 발생하는 경우 크롬을 사용하다 보면 종종 400 에러로 티스토리에 접속이 안될 때가 있다. 보통 캐시나 cookie 때문에 발생하는 오류다. 웹사이트에서는 수많은 쿠키를 사용하는데 그 중 하나만 만료되거나 손상되어도 400오류가 발생할 수 있다. 한두번이면 괜찮은데 요즘들어 며칠에 한번 꼴로 에러가 발생하고 있다. 예나 지금이나 티스토리는 많이 쓰는데 왜 최근들어 이렇게 잦아졌나 고민해봤는데, 아무래도 크롬을 처음 열 때 '시작 그룹'을 '중단한 위치에서 계속하기(마지막으로 닫았던 탭들이 자동으로 복구되는 기능)'로 설정한 게 원인이 아닌가 싶다. 이것때문에 쿠키가 평소보다 많이 쌓인 게 아닐까? 너무 편해서 포기하기 싫은 기능이지만 문제가 지속되면 이것도 테스트해보고 글에 추가하겠다. +) 이 방법으로 쿠키를 지우니.. 2023. 2. 4.
고통을 견디는 방법 을 여전히 읽고 있다. 3/4 정도 읽은 것 같다. 특히 와닿았던 이야기가 있었다. 고통을 고통으로 이겨내는 방법이었다. 고통과 쾌락은 저울의 양 끝에 올려진 추와 같아서 한 쪽에 무게가 가해졌다 사라지면 반드시 상대쪽에 반동이 오게 된다. 인간의 뇌는 영원히 고통스럽거나 즐거울 수 없다. 고통을 받으면 쾌락이 따라오고 쾌락을 느끼면 고통이 따라온다. 뇌는 항상성을 유지하도록 설계됐다. 이 책의 모든 챕터에서 일관적으로 주장하는 바가 그것이다. 고통을 줄이기 위해서 쾌락에 기대는 것은 단기적인 처방이다. 처음으로 느끼는 쾌락은 짜릿할 것이다. 그러나 두번째가 되고 세번째가 되면 쾌락은 점점 줄어든다. 뇌가 쾌락에 적응하고 나면 처음과 동일한 쾌락을 느끼기 위해 훨씬 커다란 자극이 필요해진다. 더더더 큰 .. 2023. 2. 3.
습관형성 앱 프로젝트 회고 Github: https://github.com/WithPlanner 2022년 7월 초~8월 중순까지 참여했던 첫 팀프로젝트 경험을 회고한다. 첫 프로젝트였던 만큼 기술적인 내용뿐 아니라 개인적인 상황까지 조금 구구절절하게 써보려고 한다. 목차 1. 프로젝트 시작 전 2. 프로젝트 시작 a. 프로젝트 주제 b. 주요 기능 c. 개발 인원 및 담당 역할 d. 협업 과정 e. 고민했던 부분들 3. 마무리 프로젝트 시작 전 본 프로젝트에 참여하기 전 나는 공대 2학년 1학기 과정을 듣고 있었는데, 이론은 열심히 공부했지만 개발 경험이 없으니 스스로가 속빈 강정처럼 느껴지던 때였다. 마침 교내 소프트웨어 개발 대회가 개최되던 시기였지만, 당시 나는 학부연구생으로서 딥러닝 공부에 매진하던 상황이어서 팀에 참여하.. 2023. 1. 1.
--- 아래 내용을 포함하는 포트폴리오를 작성하고, 웹페이지 주소를 제출합니다. 1. 벨만포드 알고리즘 정리 2. Leet code 문제 풀이 : 743번 네트워크 딜레이 시간 https://leetcode.com/problems/network-delay-time/ 2.1. 다익스트라를 이용한 풀이 2.2. 벨만포드를 이용한 풀이 3. 백준 문제 풀이: 1916번(옵션) https://www.acmicpc.net/problem/1916 3.1. 다익스트라를 이용한 풀이 3.2. 벨만포드를 이용한 풀이 2022. 12. 4.
자료구조 프로젝트 FIN ▼자료구조 프로젝트 목록 더보기 2022.10.18 - [프로젝트] - 자료구조 프로젝트 MID 2022.12.04 - [프로젝트] - 자료구조 프로젝트 FIN ※ 본 프로젝트의 전체 코드는 여기서 확인하실 수 있습니다. 이전 글 요약 본 자료구조 프로젝트의 목표는 이전 글에서 작성했다시피, 직접 구축한 하천 부유 쓰레기 데이터를 이용해 문제를 정의하고 해결하는 것이었습니다. 저는 하천별 쓰레기양을 기준으로 스케줄링하여 관리하는 방법을 제안했는데요. 이를 위해 red-black tree를 이용하고자 했습니다. 다만 기말 프로젝트를 준비하면서 수정된 부분이 많기 때문에 다시 문제부터 소개하기로 하겠습니다. 문제 소개 저는 단순히 하천별 스케줄링을 할 뿐만 아니라, 쓰레기가 많은 하천에서 시작하여 데이터로 .. 2022. 12. 4.
[자료구조] 그래프와 다익스트라(dijkstra) 알고리즘 본 글은 및 학교 강의를 참고하여 작성되었다. 그래프 표현 방법 그래프는 간단하게 세 종류로 나눌 수 있다. 무방향 그래프, 방향 그래프, 가중치 그래프가 그것이다. 무방향 그래프는 방향이 표시되지 않은 그래프, 즉 양방향으로 갈 수 있는 그래프를 말하고, 방향 그래프는 말그대로 방향이 있는 그래프이다. 마지막으로 가중치 그래프는 두 정점 간의 연결 유무뿐 아니라 연결 강도까지 나타내는 그래프로, 본 글에서 중점적으로 다루게 될 그래프이다. 간단한 예시로 전국 각지의 도시 간 도로를 연결하는 간선을 떠올려볼 수 있다. 이 경우 간선의 가중치는 도로를 이동하는 거리나 비용 등을 나타낼 수 있겠다. 그래프를 표현하는 방법은 크게 두 가지로, 인접행렬 또는 인접리스트를 사용할 수 있지만, 간선마다 다른 가중치.. 2022. 11. 27.
[자료구조] DFS(깊이 우선 탐색)와 BFS(너비 우선 탐색) 본 글은 를 참고하여 작성되었다. 그래프 탐색이란 하나의 정점에서 시작하여 모든 정점들을 한 번씩 방문하는 작업이다. DFS(depth first search, 깊이 우선 탐색)와 BFS(breadth first search, 너비 우선 탐색)는 그래프를 탐색하는 가장 고전적인 두 가지 방법이다. 이름에서 알 수 있듯이 깊이 우선 탐색은 한 방향으로 갈 수 있을 때까지 가다가 길이 끝나면 가장 가까운 갈림길로 되돌아와 다른 방향을 다시 탐색하는 방식이고, 너비 우선 탐색은 가장 가까운 정점들을 차례로 방문한 뒤 방문했던 정점들과 가장 가까운 정점들을 또다시 탐색하는 방식이다. 그림으로 한번 알아보자. 위와 같은 그래프에서 A를 시작 정점으로 깊이 우선 탐색을 한다면 순서는 이렇게 된다. A B D H I.. 2022. 11. 6.