본문 바로가기

python5

파이썬 - PDF 파일 읽기 Python 으로 PDF 파일을 읽을 수 있게 도와주는 라이브러리 pdfplumber 를 사용했습니다. github 에서 Star 를 봤을때 충분히 사용할만하다고 판단이 되어서 사용합니다. import pdfplumber import os # 스크립트가 있는 루트 폴더 경로 ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) # 루트폴더에 들어있는 test.pdf 읽기 with pdfplumber.open(ROOT_DIR + "/test.pdf") as pdf: for index in range(len(pdf.pages)): print(pdf.pages[index].extract_text()) 참고 : https://github.com/jsvine/pdfplu.. 2022. 11. 14.
웹스크래핑 - Web Scraping 웹 스크래핑에서 사용할 라이브러리 - Selenium - webdriver - ChromDriveManager - By - Service - EC - json Selenium 은 웹 브라우저를 원하는 대로 제어하기 위한 라이브러리이다. 그리고 WebDriver 는 Selenium 을 사용하기 위해서 필요하다. 1. Selenium 을 사용하기 위한 드라이버 설정 작업 def set_driver(): chrome_options = webdriver.ChromeOptions() // 크롬 브라우저를 열지 않고 동작 하도록 chrome_options.headless = True driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()).. 2022. 10. 2.
파이썬 알고리즘 - 삽입정렬 파이썬 알고리즘 - 삽입정렬 내가 푼 방식-> 모범 답안에 비해서 시간 복잡도가 높게 나왔다.def insertion_sort(my_list): for i in range(1, len(my_list)): for i2 in range(0, i): if my_list[i] < my_list[i2]: small = i2 break else: small = i if small != i: a = my_list[i] for j in range(i, small, -1): my_list[j] = my_list[j-1] my_list[j-1] = my_list[j-2] my_.. 2017. 8. 20.
파이썬 알고리즘 - 패턴문제 파이썬 알고리즘 Python 알고리즘 다른 문제- 숫자 배열 알고리즘 단어 패턴 문자열(패턴) 하나와 문자열의 배열 하나가 주어집니다. 패턴 문자열의 각각의 문자 하나는, 두번째 문자열 배열의 각각의 문자열 하나에 대응 될 수 있습니다. 해당 배열이 해당 패턴으로 표현 되는지 아닌지의 여부를 확인하는 함수를 만들어 보세요. 예를 들어서, aabb 와 ['abc', 'abc', 'fgh', 'fgh'] 가 주어졌을 경우에는 함수가 True를 반환해야 합니다. 이 경우에는 a가 abc에, b가 fgh에 대응되도록 하면 배열을 해당 패턴으로 표현 하는 것이 가능하기 때문이죠.반면, aabb 와 ['abc', 'fgh', 'abc', 'fgh'] 가 주어졌을 경우에는 함수가 False를 반환해야 합니다.모든 문.. 2017. 7. 17.
파이썬 알고리즘 - 숫자 배열에 관한 문제 파이썬 알고리즘 문제 Python 알고리즘 다른 문제 - 단어패턴 문제 숫자 배열문제 숫자들의 배열이 주어집니다. 이 배열은 길이 n을 가지며, 1부터 n-1까지의 숫자로 이루어져있습니다. 모든 숫자가 배열에 단 한번씩만 나타납니다. 그런데, 딱 하나의 수가 배열에 두번 등장합니다. 이 중복되는 숫자를 찾아내어 보세요. 예를 들어서, [1, 5, 2, 4, 5, 6, 3] 를 살펴봅시다. 배열의 길이는 7이며, 따라서 1~6까지의 숫자들이 한번씩 등장합니다. 그런데 5만 한번 더 등장했네요.따라서 이 경우에는5를 찾아내면 됩니다. 코드는 아래 def findDuplicate(nums): nums.sort() for i in range(len(nums) - 1): if (nums[i] == nums[i +.. 2017. 7. 13.