2025/02 10

DP: 0 / 1 Knapsack 이론

DP: 0 / 1 Knapsack 0/1 Knapsack 문제 아이디어주어진 배낭(가방)은 고정된 용량을 가지고 있으며, 여러 개의 아이템이 주어진다.각 아이템은 **무게(weight)**와 **이익(profit)**을 가지고 있다.우리는 총 이익을 최대화하면서도, 배낭의 용량을 초과하지 않도록 해야 한다. 이 알고리즘이 0/1 Knapsack이라 불리는 이유는각 아이템을 선택하거나(1) 선택하지 않거나(0) 하는 이진 선택(binary decision) 구조이기 때문이다.문제 정의N개의 아이템이 주어진다.배낭의 최대 수용량이 주어진다.profit[i]: i번째 아이템의 이익weight[i]: i번째 아이템의 무게각 아이템은 한 번만 추가 가능하며, 부분적으로 추가할 수 없음.배낭에 넣을 수 있는 아이템..

프로젝트별 python 환경 세팅(windows에서, ubuntu 도 가능, anaconda 아님)

윈도우에서 pyenv 설치 https://velog.io/@pikamon/Python-3 [Python] 윈도우에서 pyenv 설치하기 (pyenv-win)pyenv란 여러 개의 Python 버전을 관리하고 각 Python 버전을 이용하여 가상 환경을 구축할 수 있도록 도와주는 도구이다.파이썬 프로젝트마다 개발에 이용한 Python의 버전이 다를 수 있는데, pyenv를velog.io 1) 원하는 python 환경을 설치하고pyenv install 3.11.9 2) 이것을 global 환경으로 세팅한 다음pyenv global 3.11.9 3) 원하는 폴더로 이동 후 python env 로컬 세팅pyenv local 3.11.9 그런데, 여기에서 그냥 pip install 하면, 모든 3.11.9 환경의..

세팅/ubuntu 2025.02.02

딥러닝 라이브코딩 연습

🔥 1. PyTorch 기본 문법 연습인터뷰에서 PyTorch 관련 질문이 나오면 텐서 연산, 자동 미분, 기본 모델 구현 등을 잘 이해하고 있어야 해.✅ 1.1. PyTorch Tensor 기본 연산import torch# Tensor 생성x = torch.tensor([[1, 0], [0, 1]], dtype=torch.float32)y = torch.tensor([[5, 6], [7, 8]], dtype=torch.float32)# 기본 연산print(x + y) # 덧셈print(x - y) # 뺄셈print(x * y) # 원소별 곱print(x @ y) # 행렬 곱"""tensor([[6., 6.], [7., 9.]])tensor([[-4., -6.], [..

LinkedList (Queue): 1700. Number of Students Unable to Eat Lunch ★

1700. Number of Students Unable to Eat Lunch https://youtu.be/d_cvtFwnOZg?si=KkHPkdE6CuKThQq4 class Solution: def countStudents(self, students: List[int], sandwiches: List[int]) -> int: # 전체 학생 수 (Total number of students) res = len(students) # 학생들의 선호도를 카운트하기 위한 Counter 생성 # Create a Counter to count the preferences of students. # 예: students = [1, ..