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/데이터 사이언스

[파이썬] 파이썬 기초 요약

파이썬 속성 강좌 출처 "Data Science from scratch" - 저자 Joel Grus 1. 기본기 다지기 파이썬에는 설계 원칙에 대한 일종의 교리인 'The Zen of Python'이 있다. 여기서 가장 중요한 것은 "어떤 일에든 명확한-바람직하고 유일한 방법이 존재한다"라는 말이다. 명확한 방식으로 쓰여진 코드를 일반적으로 '파이썬스럽다(Pythonic)'이라고 한다. 이제부터 파이썬에 대해 알아보자. "아름다움이 추함보다 좋다. 명시가 암시보다 좋다. 단순함이 복잡함보다 좋다." 2. 파이썬 설치 python.org 또는 아나콘다(Anaconda) 배포판 3. 가상환경 matplotlib 라이브러리 사용하여 데이터 시각화를 해야하는데, matplotlib은..

Python/알고리즘 문제풀이

[백준][파이썬] 10816번 숫자 카드 2

백준 온라인저지 10816번 숫자 카드 2 문제풀러 바로가기👇👇👇👇👇👇 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제풀이 알고리즘 분류에는 이분 탐색으로 되어있는 문제다. 그러나 Counter 함수, 딕셔너리 등 여러 가지 방식으로 풀이할 수도 있는 문제이다. 그냥 단순히 배열의 메소드인 count()를 사용하면 시간초과가 발생하니 알아두자. 나는 bisect를 이용해 문제를 풀었다. 일단 이분탐색을 하..

gakko
'Python' 태그의 글 목록