본문 바로가기

프로그래밍

환경변수로 GPU 번호 설정 CUDA_VISIBLE_DEVICES=2 python version1.py 더보기
[Error 🦗] ModuleNotFoundError: No module named 'tree' [Error] ModuleNotFoundError: No module named 'tree'🦗 What happens? Python의 Ray 라이브러리를 설치하고 시작할 때, tree가 없다는 에러가 발생하였음. Failed pip install tree pip install tree로 설치하고 확인해도 에러는 그대로 남아있었고 pip install dm-tree 이 방법으로 해도 해결되지 않았음. How do I fix it pip uninstall tree pip uninstall dm-tree pip install --upgrade ray pip install dm-tree 세번 째 줄은 입력하지 않았음. (최신 Ray를 받았기 때문에) References https://github.com/ray-.. 더보기
백준 2608 로마숫자 - 파이썬 풀이 🦄 백준 2608 로마숫자 - 파이썬 풀이 🦄 문제 Keypoints Solution References 백준 2608 로마숫자 - 파이썬 풀이 🦄 문제 로마숫자를 계산하는 문제 Keypoints 알파벳을 값으로 바꿔주는 Dictionary 와 값을 알파벳으로 바꿔주는 Dictionary를 사용한다. Solution order_lst = ['I', 'V', 'X', 'L', 'C', 'D', 'M'] value_lst = [1, 5, 10, 50, 100, 500, 1000] alhpa_to_value = {i:j for i,j in zip(order_lst, value_lst)} value_to_alpha .. 더보기
백준 1717 집합의 표현 - 파이썬 풀이 🦄 백준 1717 집합의 표현 - 파이썬 풀이 🦄 문제 Keypoints Solution References 백준 1717 집합의 표현 - 파이썬 풀이 🦄 문제 DP 문제 Keypoints 넣는 순서가 아닌 값(value)에 대해서, 개수를 추적한다. Solution n, m = map(int, input().split()) parent = [i for i in range(n+1)] def find(x): if parent[x]==x: return parent[x] else: parent[x] = find(parent[x]) return parent[x] def union(x,y): x, y = find(x), find(y) if x y: parent[x].. 더보기
백준 1965 상자넣기 - 파이썬 풀이 🦄 백준 1965 상자넣기 - 파이썬 풀이 🦄 문제 Keypoints Solution References 백준 1965 상자넣기 - 파이썬 풀이 🦄 문제 DP 문제 Keypoints 넣는 순서가 아닌 값(value)에 대해서, 개수를 추적한다. Solution import sys N= int(sys.stdin.readline()) lst = list(map(int, sys.stdin.readline().split())) dp = [0 for i in range(1001)] dp[lst[0]] = 1 for i in range(1, N): value = lst[i] maximum = 0 for j in range(value-1, 0, -1): if dp[j] > maximum: maximum = dp[j] d.. 더보기
백준 15992 1,2,3 더하기 7 - 파이썬 풀이 🦄 백준 15992 1,2,3 더하기 7 - 파이썬 풀이 🦄 문제 Keypoints Solution References 백준 15992 1,2,3 더하기 7 - 파이썬 풀이 🦄 문제 DP 문제 Keypoints 리스트가 아니라 dictionary로 하면 sparse하게 구현이 가능하다. Solution dp = {j:{} for j in range(1001)} dp[1][1] = 1 dp[2][1] = 1 dp[3][1] = 1 def solve(n,m): if m 더보기
백준 17144 미세먼지 안녕 - 파이썬 풀이 🦄 백준 17144 미세먼지 안녕 - 파이썬 풀이 🦄 문제 Keypoints Solution References 백준 17144 미세먼지 안녕 - 파이썬 풀이 🦄 문제 구현하는 문제 Keypoints 확산할 때, 기존에 덮어쓰기보다 새로운 보드에 값을 넣어주면 된다. bfs로 확산하면 하나로 가능하겠지만 귀찮으므로 패스 python3로는 시간초과, pypy로 하면 통과 Solution R, C, T = map(int, input().split()) import sys import copy board1 = [list(map(int, sys.stdin.readline().split())) for i in range(R)] board2 = copy.deepcopy(board1) air_position = [] f.. 더보기
백준 1965 상자넣기 - 파이썬 풀이 🦄 백준 1965 상자넣기 - 파이썬 풀이 🦄 문제 Keypoints Solution References 백준 1965 상자넣기 - 파이썬 풀이 🦄 문제 DP를 이용해서 증가하는 최대 길이의 부분수열을 찾는 문제 Keypoints N 번째 수가 주어졌을 때까지 MAX{Weight(N)보다 작은 모든 수에 대한 길이}+1 을 찾으면 된다. optimal substructure f(n) = max({f(i)| i in (1, n)}) +1 overapping subproblems f(n)은 한 번만 구하고, 새로운 n이 주어질 때마다 업데이트 된다. Solution import sys N= int(sys.stdin.readline()) lst = list(map(int, sys.stdin.readline().s.. 더보기