skinOptions.hljs
[Python] 웹 자동화 (1) - 파이썬으로 웹 열기
·
python/자동화
해당 파일이 있는 디렉토리에 크롬 드라이버가 있어야합니다. from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.action_chains import ActionChains import time """ 크롬을 사용하여 창을 연다""" driver = webdriver.Chrome() # 크롬 웹 드라이버 연동 url = 'http://google.com' driver.get(url) driver.maximize_window() # 열고나서 창을 크게 만들어줌 (사실상 필요 X) action = ActionChains(driver)
[Python] 웹 자동화를 위한 준비 - Chrome Driver 다운로드
·
python/자동화
1. 크롬드라이버 다운로드 사이트 접속 https://chromedriver.chromium.org/downloads ​ 2. 본인 크롬 버전에 맞는 드라이버를 선택 ​ * 본인 크롬 버전 보는법 크롬 접속 > 더보기 > 도움말 > Chrome 정보(G) ​ 버전 확인 (79.0~) ​ 3. 이후 본인 OS에 따라 zip 다운로드 ​ ​ 4. 다운 후, 해당 파일(exe)을 python을 돌릴 directory 안에 업로드 이미지, 내용 출처: https://countrymouse.tistory.com/entry/ChromeDriver
[Python] 파이썬 자동화 시작하기
·
python/자동화
https://nadocoding.tistory.com/15 [나도코딩] 파이썬 활용편4 업무자동화 - 소개 이번에 준비한 주제는 '업무 자동화' 입니다. '업무 자동화'라고 해서 꼭 업무에만 사용되는 것은 절대 아니구요 ㅋㅋ 컴퓨터를 사용해서 하는 일이라면, 룰만 명확하다면 얼마든 nadocoding.tistory.com https://www.youtube.com/watch?v=exgO1LFl9x8 나도 코딩님의 영상과 게시글 위주로 작성할 예정입니다.
(파이썬 기본문법) 파일 입출력
·
python/기초
print 기능 >>> print("life" "is" "too short") lifeistoo short >>> print("life"+"is"+"too short") #큰따옴표로 둘러싸인 문자열은 +연산과 동일 lifeistoo short >>> print("life","is","too short") #문자열 띄어쓰기는 콤마로 한다 life is too short >>> for i in range(10): print(i,end=',') #개행없이 end에다가 끝문자를 지정 할 수 있다 0,1,2,3,4,5,6,7,8,9, 파일 열기 -> 파일 읽기/쓰기 -> 파일 닫기 #write.py file = open('text.txt','w') file.write('hello') file.close() 실행결..
파이썬 N진법 변환
·
python/자료구조 & 알고리즘
Pyhton 진법 변환 n진수 → 10진수 * 결과값은 모두 string 입니다. python에서는 기본적으로 int() 라는 함수를 지원한다 int(string, base) 위와 같은 형식으로 사용. base에는 진법을 넣으면 된다. print(int('101',2)) print(int('202',3)) print(int('303',4)) print(int('404',5)) print(int('505',6)) print(int('ACF',16)) 20 51 104 185 2767 10진수로 변경이 가능하다. 10진수 → 2, 8, 16진수 2, 8, 16진수는 bin(), oct(), hex() 함수를 지원한다. print(bin(11)) print(oct(11)) print(hex(11)) 0b101..
[알고리즘] 백트래킹 (backtracking) - n-Queens 문제 구현 / 파이썬 Python
·
python/자료구조 & 알고리즘
4-Queens 문제 (n = 4) 4개의 퀸을 4x4 체스보드에 배치 일단, 기본 가정으로 같은 행(row)에는 놓을 수 없음 후보 해답: 4 * 4 * 4 * = 256 가지의 탐색 공간이 있음 (하나의 행에 하나만 놓을 수 있다는 것 -> 4가지, 4개의 행) -> 4*4*4*4 프루닝 (가지치기)와 프로미싱을 어떻게 할 것인가? 첫번째 경우 -> 2번째행 3열,4열 (퀸을 둘 수 있음) 두번째 행에서 3번째 열에 해당될때 모든 경우의 수가 성립하지 않으므로 다음 경우의 수로 넘어간다. 그다음 행에서 가능한 공간을 찾아보자. 대각선, 같은 행, 같은 열에는 존재하면 안된다. (서로 공격하지 못하는 거리에 있어야함 성립하는 경우가 없으므로 다른 경우로 넘어가자 N-Queens 문제 해결 기본 가정: ..
[알고리즘] 백트래킹(backtracking) 알고리즘 / 파이썬 Python
·
python/자료구조 & 알고리즘
되추적 / 백트래킹(backtracking) 임의의 집합(set)에서 주어진 기준(criterion)대로 원소의 순서를 선택하는 문제를 푸는 데 적합 트리 자료구조의 변형된 깊이 우선 탐색(DFS) 모든 문제 사례에 대해 효율적이진 않지만 많은 문제 사례에 대해 효율적임 n-Queens, 부분 집합의 합, 0-1 배낭문제, etc 미로찾기 문제 해당 문제는 스택 알고리즘을 이용해서도 풀 수 있다. 예시 pop: stack의 마지막에 있는 것 꺼낸다 posh: stack의 제일 뒤에 쌓는다 DFS 형태로 방문하고 백트래킹 하는 형식으로 문제를 해결할 수 있다. 상태공간트리(State Space Tree) 상태공간: 해답을 탐색하기 위한 탐색 공간 상태공간트리: 탐색 공간을 트리 형태의 구조로 암묵적으로 해..
원형 큐 - 모듈 없이 구현
·
python/자료구조 & 알고리즘
보호되어 있는 글입니다.
캐시(페이지) 교체 알고리즘: LRU(Least Recently Used)
·
python/자료구조 & 알고리즘
사용자에게 빠르게 정보를 제공하기 위해 사용하는 캐시에서 새로운 데이터가 발생했을 때, 가장 오래전에 사용된 데이터를 제거하고 새로운 데이터를 삽입하는 알고리즘입니다. 새로운 데이터가 들어온 경우 캐시에 넣어준다. 캐시가 가득차있다면, 가장 오래된 데이터를 제거하고 넣어준다. 존재하는 데이터가 들어온 경우 해당 데이터를 꺼낸 뒤, 가장 최근 데이터 위치로 보내준다. 파이썬으로 구현하면 다음과 같습니다. cache_Size = 5 cache = [1, 2, 3, 4, 5] user_data = [3, 7, 2] for data in user_data: # Miss! if data not in cache: if len(cache) < cacheSize: cache.append(data) else: cache..
[자료구조] 재귀 함수와 스택 / 파이썬 Python
·
python/자료구조 & 알고리즘
정보들이 다 기록되며 진행된다. DFS(3)을 호출하면 Stack에 해당 내용이 저장이됨 호출되는 순간 DFS(2)가 호출됨 그리고 해당 x=2에대한 내용이 Stack에 새로 할당되어 저장이됨 그럼 이제 DFS(1)함수도 호출 됨 이러한 매개변수, 지역변수, 복귀주소에 대한 내용이 스택프레임이라고 명명함 D(3) -6 :이런거는 그냥 6번째 줄 코드에 있는 DFS로 간다는 말임 함수 다 돌고 종료되면 스택에 있는 최상단에 있는 것들이 지워진다... 메모리들이 해제된다 이말이야 그러면 제일 위부터 보자 제일 상단에 있는 얘가 DFS(2) 에서 6번째 라인으로 복귀한다고 했으니 그럼 뭐다? 그럼이제 7라인에서 x값인 1이 출력이 됨 그다음 2 출력 그 다음 3 출력
[자료구조] 동적계획법 Dynamic Programming / 파이썬 Python
·
python/자료구조 & 알고리즘
동적계획법 (Dynamic Programming) 처음에 나온 해답을 통해서 그다음 문제의 해답을 구한다. 간단히 말해 '점화식'을 이용하여 문제를 풀어나감 메모이제이션을 하는 것 => 리스트에 저장 메모이제이션 X => 그저 재귀함수 예제 문제를 풀면서 감을 익혀나가는 것이 가장 중요. 예제문제 1. 네트워크 선 자르기 - 1m 선을 자를 때 경우의 수: 1가지 - 2m 선을 자를 때 경우의 수: 2가지 1 + 1 2 - 3m 선을 자를 때 경우의 수: 2 + 1 = 3가지 1) 마지막 선의 길이를 1m로 한다고 하자, 남은 선의 길이는 2m이다. 2m 선을 자르는 경우의 수는 2가지 2) 마지막 선의 길이를 2m로 한다고 하자, 남은 선의 길이는 1m이다. 1m 선을 자르는 경우의 수는 1가지 - 4..
[자료구조] 우선순위 큐(Priority Queue)와 힙(Heap) / Python 파이썬
·
python/자료구조 & 알고리즘
자료구조는 우선순위(priority_queue)를 구현하기 위해 사용하는 자료구조 중 하나다. 우선순위 큐는 우선순위가 가장 높은 데이터를 가장 먼저 삭제한다는 점이 특징인데, 표로 나타내면 다음과 같다. 자료구조추출되는 데이터 스택(stack) 가장 나중에 삽입된 데이터 큐(queue) 가장 먼저 삽입된 데이터 우선순위 큐(priority_queue) 가장 우선순위가 높은 데이터 우선순위 큐를 구현할 때는 내부적으로 최소 힙(min_heap) 혹은 최대 힙(max_heap)을 이용한다. 최소 힙을 이용할때는 값이 가장 낮은 데이터가 먼저 삭제되며, 최대 힙은 값이 큰 데이터가 가장 먼저 삭제됨을 알아두자. 파이썬에서 우선순위 큐 라이브러리를 사용할때는 default값이 최소 최소 힙(min_heap)으..