Python

Python/웹 크롤링

[Python] Selenium 사용하는 법(feat. chromedriver 설치)

0. Selenium 이란? 웹 크롤링을 하는 과정에서 로그인이 필요한 경우, 또는 해당 웹사이트가 프로그램을 통한 접근을 막은 경우, 동적으로 생성된 정보를 가져와야하는 경우 등 requests, beautifulsoup로는 페이지를 수집하는 것에 한계가 있다. 셀레니움(Selenium)은 이럴 때 브라우저를 조작할 수 있게 도와주는 라이브러리이다. 원래 Selenium은 웹 애플리케이션을 테스트하기 위한 목적으로 만들어진 포터블 프레임워크지만 웹 크롤링을 할 때 직접 브라우저를 자동 제어하는 것에 큰 도움이 되었기 때문에 웹 크롤링에 많이 쓰이게 되었다. 1. 셀레니움 라이브러리 설치 먼저 터미널을 이용해 셀레니움 라이브러리를 설치해주자. pip install selenium 주피터 노트북에서 앞에 ..

Python/알고리즘 문제풀이

[프로그래머스][Python] Lv2. 메뉴 리뉴얼

2021 KAKAO BLIND RECRUITMENT 문제풀러 바로가기👇👇👇👇👇👇 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 문제 설명 위 문제는 단순 구현 문제로 조합(itertools.combinations)을 사용해 모든 메뉴의 경우 구한다. 그리고 collections.Counter 라이브러리를 이용해 가장 주문이 많았던 조합을 구해 코스요리에 추가하면 된다. 논리는 간단하다. 이 문제의 주의사항은 ..

Python/알고리즘 문제풀이

[프로그래머스][Python] Lv2. 게임 맵 최단거리

찾아라 프로그래밍 마에스터 문제 문제 풀러 바로가기 👇👇👇👇👇👇 https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 문제내용은 위 링크 참고바람 문제풀이 위 문제는 BFS(너비 우선 탐색)을 이용하면 아주 쉽게 풀 수 있는 문제이다. queue(deque 라이브러리 사용)를 이용해 지도의 좌표를 저장하고 차례대로 좌표를 꺼내 퍼트려나가면 된다. 방향은 위, 아..

Python/데이터 사이언스

[파이썬] Numpy 정리

데이터 사이언스를 위한 라이브러리¶1. Numpy¶ Numpy란 "Numerical Python"의 약자로 대규모 다차원 배열과 행렬 연산에 필요한 다양한 함수를 제공하는 라이브러리이다. 파이썬의 list를 개선한 형태인 Numpy의 ndarray 객체는 더 많은 데이터를 더 빠르게 처리할 수 있도록 도와준다. 넘파이는 N차원 배열 객체, 선형대수학, 푸리에 변환 및 난수 기능, 범용적 데이터 처리를 위한 다차원 컨테이너 등의 기능을 제공한다. Numpy를 사용하기 위해 아래와 같이 선언해주면 된다. In [2]: import numpy as np np.__version__ Out[2]: '1.20.3' Tip! 만약 모든 출력을 보고 싶다면 아래와 같이 적어주면 된다. In [3]: fr..

Python/파이썬 함수

[파이썬] heapq 힙큐 사용하기

Heapq Document Python docs homepage 1. Heap 이란? 힙은 최댓값과 최솟값을 찾는 연산에 특화된 완전 이진트리이다. 힙의 종류로는 최소힙과 최대힙이 있는데, 자료값이 낮은 것이 루트로 오면 최소힙, 자료값이 높은 것이 루트로 오면 최대힙이라고 한다. 이를 이용해 우선순위를 쉽게 정할 수 있다는 장점이 있다. 이런 우선순위 힙을 이용한 대표적인 예로는 우선순위 힙을 사용한 개선된 다익스트라 알고리즘이다. 파이썬에서 힙을 사용하기위해 heapq를 선언하는 방법은 아래와 같다. import heapq 2. heapq의 메소드 heapq.heapify(iterable) 원래 있던 리스트를 힙으로 사용하기위해서는 먼저 힙화(heapify)를 진행해야하는데, 위의 메소드를 사용해 쉽..

Python/파이썬 함수

[파이썬] any()와 all()

1. any() any는 반복 가능한 자료형을 파라미터로 받으며, 이 파라미터 중에 하나라도 True면 True를 반환한다. 만약 모두 False라면 False를 반환하는 함수이다. OR연산과 비슷한 성격을 갖고 있다. 아래는 True를 반환하는 예이다. 두 번째 예시를 보면 0, False는 거짓이지만 1이 참이기 때문에 True를 리턴하는 것을 확인할 수 있다. any([1,2,3,4,5]) # True 반환 any([0, False, 1]) # True 반환 0, ""(빈 문자열), [](빈 배열) 모두 False를 의미하기에 모두 False를 반환한다. any([0, False, 0]) # False 반환 any([]) # False 반환 any(["", 0]) # False 반환 generato..

gakko
'Python' 카테고리의 글 목록