파이썬
-
[알고리즘/자료구조] Heap/Heap sortingPS/알고리즘_자료구조 2022. 10. 2. 22:19
해당 게시글은 비전공자이자 초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) 퀵정렬까지 한꺼번에 정리하려고 했으나 생각해보니 저번 학기 자료구조 강의를 들으며 힙에 대해 배웠던 터라... ㅎ 더 기억이 사라지기 전에 한꺼번에 정리해보려 한다! 1) Heap이란? Heap은 아래의 특성을 가진 이진 트리 (Binary Tree)의 구조를 따른다. - 트리는 완전하거나 거의 완전해야 한다. (Complete or Nearly Complete) - 각 노드의 key value는 자신의 후손들보다 항상 크거나 같아야 한다. (max-heap) 따라서, Heap (앞으로 언급하는 heap은 특별한 언급이 없는 이상 모두 max-heap을 ..
-
[Keras] 기사 헤드라인 보도윤리 준수 여부 분류 모델 만들기 (긍정/부정/중립)/딥러닝Project 2022. 8. 16. 19:54
해당 게시글은 비전공자이자 초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) Introduction 7월에는 이론과 정해진 문제 풀이를 중심으로 공부를 진행했다. 8월에는 부족하더라도 내가 스스로 주제를 생각해내고 결과물까지 만들어보기로 결심하였고, 신기하게도 프로젝트에 대한 주제는 생각치도 못한 곳에서 찾을 수 있었다. 대학교 1학년 때 전공(본 전공은 미디어) 수업을 들으며 뉴닉(NEWNEEK)이라는 뉴스레터를 접하게 되었다. 해당 기업의 대표님께서 수업에 참석해주셨던 터라 설레는 마음으로 해당 뉴스레터를 구독하게 되었다. 하지만 패기 넘치는 마음은 어딘가로 없어져 버리고 방송국 활동과 동아리에 치여 (사실 핑계일지도 모른다)..
-
[Problem Solving] 정수론 및 조합론 백준 예제/PythonPS/백준 2022. 7. 30. 22:28
해당 게시글은 비전공자이자 쌩초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) 이번에 해결해 본 단계는 기하1에 이어서 정수론 및 조합론이다! 해당 단계에서 사용하는 주된 수학적 개념은 배수/약수/조합이었다. 그래서인지 기하1과 마찬가지로 그렇게 어려운 논리를 포함한 문제들은 아니라는 생각이 아주 조심스럽게 들었다. 이제 하나씩 문제들과 해결 코드를 살펴보자! # 백준 1934번 최소공배수 Python3 #유클리드 호제법 사용 import sys T = int(sys.stdin.readline()) for _ in range(T): A, B = map(int, sys.stdin.readline().split()) n1 = max(..
-
[Problem Solving] 기하1 백준 예제/PythonPS/백준 2022. 7. 27. 16:40
해당 게시글은 비전공자이자 쌩초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) 도형을 활용하여 푸는 문제였던 기하1 ! 유독 원을 활용하여 푸는 문제가 많았던 것 같다. 그래서인지 고등학교 수학(상)에 나온 개념들을 활용하여 충분히 풀 수 있었다. 또한, 개인적으로 시간 초과에서 자유로운 문제들이라는 생각이 들었다 ㅎㅎ # 백준 2477번 참외밭 Python3 import sys K = int(sys.stdin.readline()) east_west_len = [] south_north_len = [] length = [] for i in range(6): direction, lengths = map(int, sys.stdin.r..
-
[Problem Solving] 집합과 맵 백준 예제/PythonPS/백준 2022. 7. 25. 13:52
해당 게시글은 비전공자이자 쌩초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) Python에서 집합은 set() 키워드로 구현할 수 있다! 우리가 알고 있는 집합과 동일하게 중복을 허용하지 않는다. 또한 순서가 없기 때문에 인덱스로 접근할 수 없다. set 키워드는 손쉽게 교집합, 합집합, 차집합, 대칭차집합 등을 구할 수 있기에 유용하며, 중복이 허용되지 않는 입력이 주어졌을 때 리스트보다 시간복잡도가 적기 때문에 효율성 측면에서도 유용하게 쓰일 수 있다. # 교집합 s1 & s2 s1.intersection(s2) # 합집합 s1 | s2 s1.union(s2) #차집합 s1 - s2 s1.difference(s2) 또한 해당..
-
[Problem Solving] 정렬 백준 예제/PythonPS/백준 2022. 7. 17. 17:39
해당 게시글은 비전공자이자 쌩초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) 정렬: 순서를 기준으로 두고 분류하는 것 파이썬에서는 list.sort() 와 sorted()로 손쉽게 list 을 정렬할 수 있다. list.sort()의 경우 원본 데이터를 직접 정렬하고, sorted()는 원본 데이터를 정렬한 새로운 리스트를 반환한다. 따라서 sorted() 메서드로 원본 데이터를 직접 정렬하고 싶다면 아래와 같이 코드를 작성해주면 된다. a = [1, 4, 5, 3, 2] b = [1, 4, 5, 3, 2] a.sort() # a = [1, 2, 3, 4, 5] sorted(b) # b = [1, 4, 5, 3, 2] b = s..
-
[Problem Solving] 브루트 포스 개념 및 백준 예제/PythonPS/백준 2022. 7. 14. 23:26
해당 게시글은 비전공자이자 쌩초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) Brute-Force (짐승 같은, 난폭한 힘) 이라는 뜻을 가진 만큼 엄청난 자원을 필요로 하는 풀이 기법이다. 브루트 포스의 이해를 돕기 위한 가장 쉬운 예로 숫자로만 이루어진 네자리 수 비밀번호를 맞추기 위해 0000부터 9999를 모두 대입하는 방법을 들 수 있다. 무식한 풀이 기법이지만 그만큼 정확도가 뛰어나다는 장점 아닌 장점을 가지고 있다. 다음은 백준에서 브루트 포스 알고리즘으로 해결할 수 있는 문제들과 코드이다. # 백준 2798 팩토리얼 Python3 import sys N, M = map(int, sys.stdin.readline()..