-
백준 5639번 : 이진검색트리 (Python, 파이썬) - 미완성 코드카테고리 없음 2019. 2. 1. 14:25
https://www.acmicpc.net/problem/5639전위 순회(Preorder traversal)는 기존의 트리구조를 그대로 보존해 다른 곳으로 옮길 수 있다는 장점이 있다. 이 문제에선 그 장점을 이용한다. 전위 순회 값을 받아 그대로 투입하면 온전한 트리구조를 만들 수 있다. 그 트리를 다시 후위 순회로 뽑아내기만 하면 된다. 하지만 보다시피 '실패' 예제 입력과 예제 출력을 충실하게 반영하므로 잘못 짠 것 같진 않다. 하지만 미세한 반례가 있는지 계속 틀리다고 한다. 내 생각엔 지금까지 풀어본 문제에 비해 이 문제의 입력 조건이 특이해서 그런 것 같다. 123456789101112131415161718192021222324252627282930313233343536373839404142..
-
이진탐색트리(Binary search tree) - 파이썬, 자료구조카테고리 없음 2019. 1. 28. 14:24
위의 움짤을 참고하면 이해하기 쉽다.맨처음 root노드가 등장한다. 추가된 노드는 root노드와 대소 비교를 통해 왼쪽서브트리로 빠지거나 오른쪽 서브트리로 빠진다.이후 추가된 노드들도 대소비교를 거쳐 왼쪽, 오른쪽 서브트리로 빠진다.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125..
-
정렬 알고리즘(Sort Algorithm) 모음(Python, 파이썬)카테고리 없음 2019. 1. 21. 13:09
삽입 정렬(Insertion Sort) 123456789def insertionSort(x): for size in range(1,len(x)): val = x[size] i = size while i > 0 and x[i-1] > val: x[i] = x[i-1] i-= 1 x[i] = val return xcs버블 정렬(Bubble Sort)123456def bubbleSort(x): for size in reversed(range(len(x))): for i in range(size): if x[i] > x[i+1]: x[i], x[i+1] = x[i+1], x[i] return xColored by Color Scriptercs선택 정렬(Selection Sort)123456789def selec..
-
제 19회 데이터 분석 준전문가(ADsP)카테고리 없음 2019. 1. 16. 18:05
합격 결과는 꽤 전에 나왔는데 이번에 글을 올리게 되네요. 제가 데이터 과학 분야에 관심이 있어서 데이터분석 준전문가에 도전하게 되었고 합격을 하게 되었습니다. 저는 러시아어를 전공하고 있는 대학생입니다. 처음에 비전공자가 덤비기에 좀 어려운 시험이 아닐까 생각했어요. 데이터분석 준전문가.. 전문가라는 의미가 무게감이 있잖아요 결론은 만만한 시험은 아니지만 합격 못할 시험도 아니라는 것입니다. 공부를 하면서 데이터 과학의 전반적인 내용을 공부할 수 있어서 좋았습니다. 저는 일단 하나의 교재나 강의를 선택하고 공부하는게 좋아요. 왜냐하면 하나 끝내고나면 쌓이는 기분이 들거든요.저는 데이터 에듀의 데이터분석 준전문가 인강, 교재를 선택했습니다. 교재를 보면서 인강을 들어야 하거든요. 그리고 데이터 에듀의 인..
-
백준 1966번 : 프린터 큐 (Python, 파이썬) - 자료구조 큐(Deque)카테고리 없음 2019. 1. 14. 23:19
https://www.acmicpc.net/problem/196612345678910111213141516171819202122T = int(input())for _ in range(T): NM = list(map(int,input().split(' '))) N = NM[0] M = NM[1] imp = list(map(int,input().split(' '))) judge = [0 for _ in range(N)] judge[M] = 'T' cnt = 0 if len(imp) == N: while True: if imp[0] == max(imp): cnt += 1 if judge[0] == 'T': print(cnt) break else: imp.pop(0) judge.pop(0) else: imp.a..
-
백준 10866번 : 덱 (Python, 파이썬) - 자료구조 덱(Deque)카테고리 없음 2019. 1. 14. 23:17
https://www.acmicpc.net/problem/10866 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455class deque: def __init__(self): self.items = [] def push_front(self,x): self.items.insert(0,x) def pop_front(self): if len(self.items) == 0: return -1 else: return self.items.pop(0) def push_back(self,x): self.items.append(x) def pop_back(self): if len(self...
-
백준 10845번 : 큐 (Python, 파이썬) - 자료구조 큐(Queue)카테고리 없음 2019. 1. 7. 21:10
https://www.acmicpc.net/problem/10845 큐(Queue)의 개념은 쉽다. 표를 사기 위해 줄을 선 사람들을 생각해보자. 먼저 줄 선 사람이 먼저 표를 산다. 늦게 줄 선 사람은 당연히 늦게 표를 산다. 먼저 입력된 명령, 데이터가 먼저 처리된다. 늦게 입력되었다면 늦게 처리될 수밖에 없다.이러한 개념을 염두에 두고 코드를 짰다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556class Queue: def __init__(self): self.Queue_item = [] def push(self, x): self.Queue_item.append..
-
백준 2775번 : 부녀회장이 될 테야 (Python, 파이썬)카테고리 없음 2019. 1. 6. 21:22
https://www.acmicpc.net/problem/2775 'a 층의 b 호에 살려면 자신의 아래(a-1) 층의 1호부터 b 호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다'라는 규칙을 예를 들어 설명하도록 하겠다.예를 들어 3층 3호에 살고자 한다. 3층 3호에 살려고 한다면 2층 1호, 2층 2호, 2층 3호에 사는 사람들의 합만큼 3층 3호에 데리고 살아야 한다.그럼 3층 2호를 산다고 하면 어떨까? 2층 1호, 2층 2호에 사는 사람들의 합만큼 데리고 살아야 한다. 그렇다면 3층 3호에 데리고 살아야 하는 인원은 3층 2호에 데리고 살아야 하는 인원 + 2층 3호에 데리고 살아야 하는 인원이 된다.이러한 개념을 머릿속에 가지고 코드를 작성했다.123456789T = int(inp..