본문 바로가기

python

(35)
[ 백준 2798번] 블랙잭 python https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 1. n(카드의 개수), m(카드가 도달해야할 수) 입력 2. 카드에 쓰여진 수 입력. 단, 합이 M을 넘지 않는 카드 3장을 찾을 수 있는 경우만 3. 3장의 수를 뽑아 합산한 결과 출력 #입력 n, m=map(int, input().split()) #카드의 개수, 카드가 도달해야 하는 수 numList=list(map(int, input().split())) #..
[python] konlpy 모듈 돌려버리기★colab에서 구글 드라이브 파일 가져오기 연구실 자리 치우고, 연구실 사물함 치우고, 데이터 백업시키고, 교수님과 상담하고.. 눈치 챘겠지만 연구실을 나갔다. 나가게 된 계기에 대해서는 글 끝에 적어놓았따. 대학교 일문학과 전과 출신 컴퓨터 학과 학사 연구실생의 퇴사 이유가 궁금하다면 읽어보시길 바란다. 학과 프로젝트를 진행하다보니 konlpy(형태소 분석 모듈)을 사용해야 하는 코드가 생겻다. 근데 주피터에서 안 돌아가더라.. 후.. 무슨무슨 에러떠서 일일이 다 수정하고 cmd창 켜서 명령어 입력하고... 근데 ㅅㅂ 안돼1!! 그래서 다른 해결법을 찾았다. 바로 구글 COLAB을 쓰는거다. 구글 창에다가 colab을 검색하면 나오고. 이걸로 몇 차례의 구글링을 거친 다음에야 돌릴 수 있었따. sm양 왈 구글 colab은 사용자 서버가 아니라 ..
문과생이 이해한 파이썬 Dijkstra의 최단 거리 알고리즘 #c언어로 쉽게 풀어쓴 자료구조 연습문제를 파이썬 코드로 구현 MAX_VERITICES=10 INF=1000000 class DIJKSTRA: def __init__(self, n, mat): self.n=n self.weight=mat self.distance=[None] * MAX_VERITICES #시작 정점으로부터의 최단 경로 거리 self.found=[False] * MAX_VERITICES #방문한 정점 표시 def choose(self): min=INF minpos=-1 for i in range(self.n): if self.distance[i] < min and not(self.found[i]) : min=self.distance[i] minpos=i return minpos def ru..
문과생이 이해한 파이썬 Floyd의 최단 거리 알고리즘 MAX_VERITICES=100 INF=1000000 class floyd: def __init__(self, n, mat): self.n=n self.weight=mat self.A=[[0 for i in range(MAX_VERITICES)]for i in range(MAX_VERITICES)] def run(self): for i in range(self.n): for j in range(self.n): self.A[i][j]=self.weight[i][j] self.printA() for k in range(self.n): for i in range(self.n): for j in range(self.n): if self.A[i][k] + self.A[k][j] 4정점->1정점->2정점으로 가중치..
문과생이 이해한 파이썬 BFS(너비 우선 탐색)- 인접 리스트 버전 #c언어로 쉽게 풀어쓴 자료구조 연습문제를 파이썬 코드로 구현 MAX_QUEUE_SIZE=10 MAX_VERITICES=10 #정점 class GraphNode: def __init__(self, v=None, link=None): self.vertex=v self.link=link class CircleQueue: def __init__(self): self.front=0; self.rear=0 self.queue=[None]*MAX_QUEUE_SIZE def is_empty(self): return self.front==self.rear def is_full(self): return (self.rear+1)%MAX_QUEUE_SIZE==self.front def enqueue(self, data): ..
문과생이 이해한 파이썬 BFS(너비 우선 탐색)- 인접 행렬 버전 #c언어로 쉽게 풀어쓴 자료구조 연습문제를 파이썬 코드로 구현 MAX_QUEUE_SIZE=10 MAX_VERITICES=10 #정점 class CircleQueue: def __init__(self): self.front=0; self.rear=0 self.queue=[None]*MAX_QUEUE_SIZE def is_empty(self): return self.front==self.rear def is_full(self): return (self.rear+1)%MAX_QUEUE_SIZE==self.front def enqueue(self, data): if self.is_full(): print('큐가 포화상태입니다.'); return self.rear=(self.rear+1)%MAX_QUEUE_SIZ..
문과생이 이해한 파이썬 연결리스트1-연습문제 #c언어로 쉽게 풀어쓴 자료구조 연습문제를 파이썬 코드로 구현 #9번 #9번 class Node: def __init__(self, data): self.data=data self.link=None class LinkedList: def __init__(self, data=None): self.head=None def insert(self, data): new_node=Node(data) if self.head==None: self.head=new_node return node=self.head while node.link is not None: node=node.link node.link=new_node def __str__(self): print_list='' node=self.head while T..
문과생이 이해한 파이썬 연결리스트1(다항식 덧셈 프로그램) class ListNode: class Node: def __init__(self, coef, expon, link): self.coef = coef self.expon = expon self.link = link def __init__(self): self.Ahead = None; self.Asize = 0 self.Bhead = None; self.Bsize = 0 self.Chead = None; self.Csize = 0 def Ais_empty(self): return self.Asize == 0 def Bis_empty(self): return self.Bsize == 0 def Cis_empty(self): return self.Csize == 0 def A_insert(self, coef,..