반응형

Python 43

Playwright Python: Tutorial #2 - Pytest

Playwright Python: Tutorial #2 - PytestTutorial #1 https://helloahram.tistory.com/221  Pytest Plugin 을 설치해준다 pip install playwright pytest-playwrightplaywright install # Playwright Browser 설치 파일명은 제일 앞에 test_ 또는 제일 뒤에 _test 로 만들어준다 ex. test_webpage.py or webpage_test.py  Test Code 를 작성할 때는 반.드.시!🔥 테스트 함수의 이름 제일 앞에 test_ 를 적어줘야 한다 🔥그리고 본문에는 아래와 같은 Test Code 예시를 작성해 준다 # https://youtu.be/IDrTac..

TIL 2025.02.21

Playwright Python: Tutorial #1 - async, Browser

Playwright Python: Tutorial #1 - async, BrowserPlaywright 설치는 https://helloahram.tistory.com/210 참고  Playwright 설치하고 사용하기 w/ PythonPlaywright 는 Microsoft 에서 개발한 오픈 소스 자동화 도구이다 Selenium 과 유사하지만, Chromium, Firefox, WebKit 등 여러 브라우저 엔진을 지원하며 보다 빠르고 안정적인 자동화를 제공하고, 모바일 환helloahram.tistory.com 1. ScreenShot 찍기 - Sync sync_playwright 를 사용하여 동기적으로 작동하는 Playwright API 를 호출한다각 작업은 이전 작업이 끝날 때까지 기다리면서 순차적..

TIL 2025.02.20

[백준] 2346 풍선 터뜨리기 Python

1. 문제 안에 숫자가 적힌 풍선 N 개가 원형으로 놓여져 있을 때 1번을 터뜨려 안에 적힌 숫자만큼 이동해 풍선을 터뜨리는 문제 숫자가 양수이면 오른쪽, 음수이면 왼쪽으로 이동한다  2. 제한시간 제한 2초 메모리 제한 4MB  3. 알고리즘 분류 * 자료 구조* 덱 4. 접근 방식 풍선들이 원형 구조를 이루고 있기 때문에 Deque 을 사용한다 🐣 정글에서도 많은 칭구들이 처음에 혼란을 겪었지만 Deque 는 디큐가 아니고 덱이라고 읽는다 🐣Deque 는 양쪽 끝에서 삽입과 삭제가 모두 O(1) 이기 때문에 원형 리스트를 다루는 데 효과적이다 풍선을 왼쪽 또는 오른쪽으로 이동해야 하므로, Deque 앞/ 뒤에서 쉽게 풍선을 넣고 뺄 수 있다 풍선을 터뜨린 후에 해당 풍선을 삭제해야 하는데, 이 때..

알고리즘 2025.02.20

Playwright 작성해보기 w/ Python

Playwright 로 감별마켓 홈 화면에서 도깨비 시장 제일 첫번째 컨텐츠 진입하여 상품 구매하기 버튼 선택 > 네이버쇼핑 화면으로 이동하고 상품 이름 긁어오는 것까지 진행해봤다sync 로 진행했는데 다음에는 async 로도 해봐야지 locator 가져오는 거를 좀 더 알아봐야겠다 https://playwright.dev/docs/locators Locators | PlaywrightIntroductionplaywright.dev import refrom playwright.sync_api import Playwright, sync_playwright, expectdef run(playwright: Playwright) -> None: browser = playwright.chromium.laun..

TIL 2025.02.18

[백준] 4949 균형잡힌 세상 Python

1. 문제 영문 알파벳, 공백, 소괄호와 대괄호로 이루어져 있는 문자열에서 소괄호와 대괄호가 짝을 이루는지 판단하는 프로그램  2. 제한시간 제한 1초 메모리 제한 128MB  3. 알고리즘 분류 * 자료 구조* 문자열 * 스택  4. 접근 방식 9012 괄호 https://www.acmicpc.net/problem/9012 문제는간단하게 stack 를 이용해서 ( 이면 stack 에 넣고, ) 이면 pop 해서 짝을 맞췄는데 괄호의 종류가 두 개가 되니 ) 이면 ( 이랑 맞추고 ] 이면 [ 와 맞추는 작업을 추가했다  5. 전체 코드 w/ Python # https://www.acmicpc.net/problem/4949# 영문 알파벳, 공백, 소괄호와 대괄호로 이루어져 있는 문자열에서# 소괄호와 대괄..

알고리즘 2025.02.17

Insert Dummy Data into MySQL w/ Python

MySQL 에 Dummy Data 삽입 w/ Python 더미 데이터가 필요한 일이 생겨서 코드를 만들어봤다 userTest 라는 Table 을 만들고 id, name, email Column 으로 구성했다 CREATE TABLE userTest ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100));Cursor 커서 MySQL 에서 SQL 쿼리를 실행하고 그 결과를 가져오는 역할커서를 사용하여 SELECT, INSERT, UPDATE, DELETE 같은 SQL 문을 실행할 수 있다  import mysql.connectorimport randomimport string # MySQL 연결 정보 config = { ..

TIL/Python 2025.02.11

Playwright 설치하고 사용하기 w/ Python

Playwright 는 Microsoft 에서 개발한 오픈 소스 자동화 도구이다 Selenium 과 유사하지만, Chromium, Firefox, WebKit 등 여러 브라우저 엔진을 지원하며 보다 빠르고 안정적인 자동화를 제공하고, 모바일 환경을 시뮬레이션할 수 있다 Cypress 는 자체 문법과 실행 환경을 제공하지만, Playwright 는 기존 언어의 문법을 지원한다 NodeJS, JavaScript, Python, Java, .NET 등 다양한 언어로 사용할 수 있다 Playwright 는 비동기 기능도 지원한다, 로컬에서 비동기 API 를 사용하는 것은 무료지만Playwright Testing 같은 클라우드 기능은 유료로 제공된다 Playwright 설치하기 Python 으로 Playwrigh..

MAC 2025.02.04

[TIL] 유클리드 호제법 Euclidean algorithm

유클리드 호제법 Euclidean algorithm2개의 자연수의 최대공약수를 구하는 알고리즘 호제법 - 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘  유클리드 호제법 진행 순서1. 두 수 중 큰 수를 작은 수로 나눈다2. 나머지가 0이면 작은 수가 최대 공약수가 된다3. 나머지가 0이 아니면 작은 수가 큰 수가 되고, 나머지가 작은 수가 되어    다시 큰 수를 작은 수로 나눈다  유클리드 호제법 특징1. 시간 복잡도 O(log(min(a, b))) - 두 수의 크기에 비례하여 알고리즘의 수행 시간이 결정된다 2. 재귀적으로 구현도 가능하다 ( gcd(a, b) -> gcd(b, a % b) )+ 최대공약수 성질 중에 gcd(a, 0) = a 라는 성질도 있다, 즉, 어떤 수와..

TIL 2024.10.06

[백준] 12865 아주 평범한 배낭 Python

1. 문제 최대 K 만큼의 무게만을 넣을 수 있는 배낭에무게 Weight 와 가치 Value 를 가지는 N 개의 물건이 있다배낭에 넣을 수 있는 물건들의 가치의 최대값 찾기 2. 제한시간 제한 2초, 메모리 제한 512MB물품의 수 1 버틸 수 있는 무게 1 각 물건의 무게 1 해당 물건의 가치 0 3. 알고리즘 분류* 다이나믹 프로그래밍 * 배낭 문제 4. 접근 방식Knapsack Problem 을 한 번 공부했다 Knapsack Problem 개념 정리 물건을 쪼갤 수 있다는 언급은 없어서 0-1 Knapsack 방식으로 접근했다 예시 입력을 기준으로 - n = 4, k = 7, 물건 (6, 13), (4, 8), (3, 6), (5, 12) 일 때물건을 무게 오름차순으로 다시 정렬하고 (3, 6),..

알고리즘 2024.10.02

[TIL] 배낭 문제 Knapsack Problem

배낭 문제 Knapscak Problem 최대 K 의 무게를 담을 수 있는 배낭 각기 다른 가치 V 를 가지고 W 의 무게인 N 개의 물건을 배낭에 최대한 가치가 높은 물건들로 담을 수 있는 조합을 찾는 문제  만약 n개의 물건이 있을 때, 가능한 모든 조합을 만들기 위해서는 2^n개의 경우를 시도해 보아야 하고그렇게 된다면 시간 복잡도는 O(2^n) 이기 때문에 Brute Force 는 적합하지 않다  배낭 문제는 물건을 쪼갤 수 있는 Fraction Knapsack Problem 과물건을 쪼갤 수 없는 0-1 Knapsack Problem 으로 나뉜다   부분 배낭 문제 Fraction Knapsack Problem 물건을 쪼개서 넣을 수 있다 가치가 큰 물건부터 담고, 남은 무게만큼 물건을 쪼개는..

TIL/Python 2024.10.01
반응형