파이썬

파이썬/셀레니움(Selenium)

Selenium 02 : 셀레니움 요소 찾기 find_element By 사용법 (find_element_by_ 안됨)

Selenium 02 : 셀레니움 요소 찾기 find_element By 사용법 https://m-flight.naver.com/ 네이버 항공권 설레는 여행의 시작. 네이버 항공권과 함께! m-flight.naver.com 네이버 항공권 사이트에서 자동으로 필요한 표를 예매하려고 한다. find_element를 활용하여 기능을 구현할 수 있다. from selenium import webdriver bro = webdriver.Chrome() bro.maximize_window() # 창 최대화 url = "https://m-flight.naver.com/flights/" bro.get(url) 위의 코드를 입력하고 빌드하면 크롬에서 네이버 항공권 사이트가 자동으로 열리게 될 것이다. 웹 페이지에서 내가..

파이썬/셀레니움(Selenium)

Selenium 01 : pycharm에서 selenium 설치와 웹 드라이버 환경 만들기

pycharm에서 selenium 설치와 웹 드라이버 환경 만들기 먼저 크롬 브라우저의 버전을 확인한다. chromedriver.chromium.org/downloads ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 106, please download ChromeDriver 106.0.5249.21 If you are using Chrome version 105, please download ChromeDriver 105.0.5195.52 If you are using Chrome version 104, please download ChromeDriver 104.0.5112.7..

파이썬/자료구조와 알고리즘

[python] 백준 11557 : Yangjojang of The Year

[python] 백준 11557 : Yangjojang of The Year 11557번: Yangjojang of The Year (acmicpc.net) 11557번: Yangjojang of The Year 입학 OT때 누구보다도 남다르게 놀았던 당신은 자연스럽게 1학년 과대를 역임하게 되었다. 타교와의 조인트 엠티를 기획하려는 당신은 근처에 있는 학교 중 어느 학교가 술을 가장 많이 먹는지 www.acmicpc.net 브론즈 1 구현, 정렬 접근 대학교 이름과 술 소비량을 입력받으면 짝을 지어서 리스트에 삽입하도록 한다. [(학교1, 100), (학교2, 200), (학교3, 300)] 각각의 두번째 값을 기준으로 내림차순 정렬하여 첫번째 값의 학교이름을 출력하도록 한다. 파이썬의 lambda 함..

파이썬/자료구조와 알고리즘

[파이썬] 클래스, self, __init__, __str__

[파이썬] 클래스, self, __init__, __str__ 목차 클래스 데이터의 처리, 정의 등을 하나로 정리해 둔 모형과 같음. 붕어빵 틀과 같다. 효과 모든 변수를 어떠한 범위에 소속시킴. 재사용 간편함. 코드 수정 최소화. 함수 실행중에 함수 자신을 다시 호출하는 일이 가능. 사용법 클래스에 정의된 데이터와 메서드를 사용하기 위해서는 인스턴스를 생성하여 클래스를 실체화해야 한다. 객체란 붕어빵 틀에 반죽을 넣어서 만들어진 붕어빵과 같다. (이때 메서드란, 클래스 내에 기재된 함수를 의미한다.) 각 객체는 하나의 클래스에 의해 독립적으로 존재할 수 있으므로, 하나의 클래스에 대한 여러 가지 인스턴스들이 각각 다른 데이터를 가지도록 할 수도 있다. class Status(): def __init__..

파이썬/자료구조와 알고리즘

[파이썬] 유클리드 호제법을 이용한 최대공약수, 최소공배수 구하기

[파이썬] 유클리드 호제법을 이용한 최대공약수, 최소공배수 구하기 유클리드 호제법 A>B일때, A%B를 R이라고 할때, A와 B의 최대공약수와 B와 R의 최대공약수가 같다는 원리이다. A에 B를 대입하고 B에 R을 대입하는 과정을 반복하다보면 R=0이 되는 상황이 생기는데, 이때 B자리에 위치한 숫자가 바로 A와 B의 최대 공약수가 된다. def GCD(x, y): while y: x, y = y, x%y return x print(GCD(10, 12)) 2 y가 0이 아닌 수일때(참일 때) x, y = y, x%y는 계속해서 반복된다. x % y == 0이 되는 순간에 x%y은 y에 대입되므로 반복문의 조건을 만족하지 못해 빠져나오게 된다. x에는 y의 값이 대입되었으므로 x값을 반환함으로써 최대공약수..

파이썬

[파이썬] 이진 탐색 라이브러리 bisect

[파이썬] 이진 탐색 라이브러리 bisect bisect 이진 탐색 알고리즘을 쉽게 구현할 수 있도록 도와주는 라이브러리. 원소들이 정렬된 리스트에서 특정 원소를 찾을 때 유용하다. bisect_left(list, data) : 리스트가 정렬 상태를 유지하면서, data가 list에 몇 번 인덱스로 들어갈지를 반환(가장 왼쪽) bisect_right(list, data) : 리스트가 정렬 상태를 유지하면서, data가 list에 몇 번 인덱스로 들어갈지를 반환(가장 오른쪽) from bisect import bisect_left, bisect_right lst = [1, 3, 4, 5] print(bisect_left(lst, 3)) print(bisect_right(lst, 3)) 1 2 lst는 정렬..

파이썬

[파이썬] 딕셔너리(Dictionary) 자료형 정리

[파이썬] 딕셔너리(Dictionary) 자료형 정리 대응관계를 나타내는 자료형을 연관 배열 또는 해시라고 한다. 파이썬에서 이러한 자료형을 딕셔너리라고 하며, key와 value값을 가진 자료들로 목록화할 수 있다. {key : value} 형식으로 지정된다. dic = { 'name' : 'mom', 'age' : 30, 'birth' : 1225 } key와 value는 : 로 구분되어지며 각각의 쌍을 , 로 구분한다. dic이라는 딕셔너리에 name, age, birth라는 key가, name, age, birth라는 키에 각각 mom, 30, 1225라는 value가 할당된다. key값은 정수가 될 수도 있고, value 값에는 튜플이나 리스트가 올 수도 있다. 딕셔너리 쌍 추가, 제거 dic ..

파이썬/자료구조와 알고리즘

[파이썬/자료구조] 스택(stack)

[파이썬/자료구조] 스택(stack) LIFO(Last In First Out) 방식. 후입 선출이라고도 하며, 가장 먼저 들어간 값이 맨 아래에 깔린다. 가장 나중에 넣은 데이터를 가장 먼저 빼낼 수 있다. 프링글스 통에서 과자를 추가하고 꺼내는 형태와 같다. 스택 구조의 연산 Push : 스택에 값 추가. Pop : 스택 가장 마지막 원소를 삭제하고 반환. Peek : 스택 가장 마지막 원소를 반환.(삭제 x) Empty : 스택이 비어있으면 1, 아니면 0을 반환한다. 덱 라이브러리를 사용하면 리스트로 구현한 것보다 훨씬 빠르다. from collections import deque dq=deque() # 덱 생성 dq.append() # 덱의 가장 오른쪽에 원소 삽입 dq.popleft() # 가..

파이썬/자료구조와 알고리즘

[파이썬/자료구조] 큐(queue) 덱(deque)

[파이썬] 큐(queue) 큐는 선입선출, FIFO(First In First Out) list append : 마지막에서 삽입 pop : 마지막꺼 제거 pop(n) : n번째 인덱스 값 제거 insert(n, x) : n번째 인덱스에 x값 삽입 queue = [1, 2, 3] queue.append(4) print(queue) queue.pop() print(queue) queue.pop(0) print(queue) queue.insert(0, 3) print(queue) [1, 2, 3, 4] [1, 2, 3] [2, 3] [3, 2, 3] 그러나 list는 무작위 접근(random access)에 최적화된 자료 구조이며 시간 복잡도가 O(N)이므로 데이터가 많아질 수록 느려짐. deque doubl..

파이썬/자료구조와 알고리즘

파이썬 자료구조/알고리즘 10 : 소수 찾기 알고리즘

파이썬 자료구조/알고리즘 10 : 소수 찾기 알고리즘 다음은 for~else문을 이용해서 1~1000까지의 소수를 출력하는 코드입니다. counter = 0 for n in range(2, 1001): for i in range(2, n): counter += 1 if n % i == 0: break else: print(n) print(f"나눗셈 실행 횟수 : {counter}") 2 3 5 (...) 983 991 997 나눗셈 실행 횟수 : 78022 for~else문은 for문이 break 등으로 빠져나가지 않고 끝까지 반복문을 수행했을 때 else문을 실행하는 구조입니다. 또한 for문이 실행되지 않는 경우에도 else문이 실행됩니다. 소수는 1과 자기 자신을 제외한 어떤 정수로도 나눠지지 않는..

파이썬/자료구조와 알고리즘

파이썬 자료구조/알고리즘 09 : for ~ else문 응용하기

파이썬 자료구조/알고리즘 09 : for ~ else문 응용하기 if 조건문과 따라다니는 else구문을 파이썬에서는 반복문과 함께 사용할 수 있습니다. for문이 중간에 break로 빠져나오지 않고 완전히 끝까지 실행되었을 경우 else문의 명령어가 실행됩니다. 또한 for문이 아얘 실행되지 않는 경우에도 else문이 실행됩니다. for와 else는 같은 라인에 쓰도록 합니다. 다음은 for~else문을 사용하지 않은 코드입니다. lst = [1, 3, 6, 4, 2] flag = 0 for i in lst: if i > 5: flag += 1 print('반복문 탈출') break if flag != 0: print('5보다 큰 수 발견') else: print('5보다 큰 수 없음') 반복문 탈출 5..

파이썬/자료구조와 알고리즘

파이썬 자료구조/알고리즘 08 : 객체에 따른 인수, 매개변수의 교환 방식

객체에 따른 인수, 매개변수의 교환 방식 인자, 인수, 매개변수의 차이 def sumsum(n): # n = 인자/매개변수/parameter s = 0 while n > 0: s += n n -= 1 return s x = int(input()) print(f'1부터 {x}까지 정수의 합 : {sumsum(x)}')# x = 인수/argument 파이썬에서 인수와 매개변수의 교환 방식 (이뮤터블의 경우) Immutable : 변경 불가능한 객체 String, tuple, 숫자 등 def sumsum(n): s = 0 while n > 0: s += n n -= 1 return s x = int(input()) print(f'1부터 {x}까지 정수의 합 : {sumsum(x)}') >> 5 1부터 5까지 ..

lazarus0320
'파이썬' 카테고리의 글 목록