브라우저 자동화하기, Selenium Selenium 라이브러리 Selenium은 Python을 이용해 웹 브라우저를 조작할 수 있는 자동화 프레임워크이다. Selenium, Web Driver 설치 Selenium 프레임워크와 웹 브라우저와 연동하기 위한 WebDriver를 설치한다. WebDriver는 웹 브라우저를 제어할 수 있는 자동화 프레임워크로, 이 실습에서는 Chrome을 기준으로 진행한다. %pip install selenium %pip install webdriver-manager WebDriver의 Chrome() 객체 생성 from selenium import webdriver from selenium.webdriver.chrome.service import Service from w..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 이해꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾음아래로 이동할 때는 대각선 오른쪽/왼쪽 한 칸으로만 이동 가능배열 triangle이 주어질 때, 최댓값을 반환하도록 작성풀이 (1)배열 triangle을 len(triangle) - 2(마지막에서 한 칸 위)부터 역으로 순회하여 수를 더함대각선 한 칸 아래 오른쪽/왼쪽 중에 더했을 때, 더 큰 값을 해당 칸에 대입코드 문제에 제공된 예로 순서를 설명하면, [2, 7, 4, 4]가 나타난 행부터 순회를 시작한다. 그리고 2+..
HTML을 분석해 주는 BeautifulSoup BeautifulSoup 라이브러리 지난 실습에서 requests 모듈을 이용해 HTTP 요청을 보내고, 응답을 받았다. 그런데 res.body의 결과를 확인했을 때, 긴 텍스트 형식이라서 분석하기 힘들었다. 이를 해결하기 위해 HTML 코드를 분석해 주는 HTML Parser를 사용할 수 있는데, 가장 유명한 것이 BeautifulSoup4이다. BeautifulSoup4 설치 %pip install bs4 requests 모듈로 데이터 받기 # www.example.com 사이트를 요청한 후 응답 받아보기 import requests res = requests.get("https://www.example.com") res.text bs4 선언 및 사용 ..
동적 계획법(Dynamic Programming, DP)이란?동적 계획법이란 하나의 큰 문제를 여러 개의 작은 부문제로 나누고, 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 기법이다.동적 계획법 vs 재귀적 호출재귀적 호출일반적인 재귀 방식은 동적 계획법과 매우 유사하다. 단, 재귀를 사용 시 동일한 작은 문제가 여러 번 반복되어 비효율적인 계산이 이루어진다는 것이다. 예를 들어 피보나치 수열을 살펴보자. 각 항을 구하기 위해 f(1), f(0)이 등장할 때까지 계속해서 반환하고, 더하는 작업을 진행한다. 또한 값을 따로 저장해두지 않기 때문에 이전에 구했던 값을 다시 처음부터 계산한다. 이러한 계산 방식 때문에 구하는 항이 증가함에 따라 계산 횟수가 기하급수적으로 늘어난다. 1, 1, 2..