본문 바로가기

파이썬141

Joontooling 프로젝트 - Daum 주소 API Joontooling 프로젝트 업무 : 회원가입 모델링 Daum 주소 API 가지고 오기 주소 {% render_field form.address class="input_effect" placeholder="주소" id="address" %} 도로명 주소 찾기 상세 주소를 추가해 주세요 주소 입력칸 그리고 주소 찾기 버튼을 만든다 주소 찾기 버튼을 누르면 Daum 주소 찾기 팝업을 띄운다 Daum 주소 찾기 API는 따로 Key를 받지 않아도 된다 위에 있는 코드를 그냥 가지고 오면된다 예제 코드가 있는데, 예제 코드보다는 간단하게 만들어서 사용했다 function searchAddress() : 함수이다. HTML에서 주소 찾기 버튼을 누르면 을 통해서 searchAddress 기능을 실행시켜 준다 (.. 2023. 2. 22.
Udemy : Python Selenium Udemy : Python Selenium Udemy Python Selenium Webdriver 웹에서 자동적으로 작업을 할 수 있도록 만드는 것 입력, 클릭, 스크롤 등 인간들이 웹에서 할 수 있는 것들을 자동으로 할 수 있다 Selenium 크롬 설치하기 셀레니움/ webdriver 설치하기 pip install selenium 그리고 pip install webdriver_manager 설치하기 webdriver.Chrome(service=Service(ChromeDriverManager().install())) 예전에는 크롬드라이버를, 크롬 버전에 따라서, 직접 다운로드를 받아야 했다 하지만 이제는 service=Service(ChromeDriverManager().install())를 통해 .. 2023. 2. 19.
[Python] 백준 2467 용액 🧑‍💻 [Python] 백준 2467 용액 Gold 5 - 이진 탐색 산성 용액과, 알칼리성 용액이 있으면, 어떠한 두 용액을 섞어서 0과 제일 가까운 용액을 만드는 것이다 여기서 산성은 산성끼리, 알칼리성은 알칼리성 용액끼리 섞을 수 있다 이진 탐색을 하기 위해서는 정렬을 꼭 해야 한다 두 용액을 섞어서, 전에 섞은 용액보다 0과 가깝다면, 두 용액과, 용액들을 섞어서 나온 숫자를 저장해야 한다 즉 3개의 변수를 지속적으로 수정해야 하는 것이다 코드 N = int(input()) array = list(map(int, input().split())) array.sort() left = 0 right = N - 1 current_min = abs(array[left] + array[right]) left.. 2023. 2. 18.
[Python] 백준 2512 예산 🧑‍💻 [Python] 백준 2512 예산 Silver 3 - 이진 탐색 예산 요청이 리스트로 주어진다. 그리고 국가가 사용할 수 있는 예산이 주어진다 요청 된 모든 예산들이 국가가 사용할 수 있은 예산 안에 들어가야 한다 그러기 위해서, 상한액을 정해서, 요청 리스트 안에 있는 예산들을 수정한다 코드 N = int(input()) array = list(map(int, input().split())) budget = int(input()) array.sort() left, right = 0, array[-1] if sum(array) 2023. 2. 18.
[Python] 백준 1967 트리의 지름 🧑‍💻 [Python] 백준 1967 트리의 지름 Gold 4 - DFS 두 노드 사이의 가중치들을 더했을 때에 가장 큰 숫자를 출력하는 것 여기서 1의 기준에서 가중치가 제일 큰 노드를 구한다 그 다음, 가중치가 제일 큰 노드를 시작으로 DFS를 하여, 제일 큰 가중치를 구한다 여기서 DFS를 하면 어디서든, 제일 끝에 있는 자식 노드에 가게 된다 문제풀이 첫 DFS를 한 후에,visited 리스트 다시 초기화 시켜야 한다 second_index = visited.index(max(visited))을 통해서 두번째 DFS를 할 때에, 시작 점을 찾는다 코드 import sys sys.setrecursionlimit(10 ** 9) def dfs(start, weight): for node, wei in.. 2023. 2. 16.
[Python] 백준 1520 내리막길 🧑‍💻 [Python] 백준 1520 내리막길 Gold 3 - DFS DFS는 확실히 알았으나, 이걸 어떻게 DP로 풀어야 할지 몰랐다 1) 50 ▶️ 35 ▶️ 30 ▶️ 27 ▶️ 24 ▶️ 22 ▶️ 15 ▶️ 10 2) 50 ▶️ 45 ▶️ 37 ▶️ 32 ▶️ 20 ▶️ 17 ▶️ 15 ▶️ 10 3) 50 ▶️ 45 ▶️ 37 ▶️ 30 ▶️ 25 ▶️ 20 ▶️ 17 ▶️ 15 ▶️ 10 위를 보면, 15 ▶️ 10 은 3 경로 모두 겹친다 그리고, 20 ▶️ 17 ▶️ 15 ▶️ 10은 2번과 3번이 겹친다 겹치는 부분은 한번만 탐색을 하면 된다 즉 이미 방문을 했다면, 10까지의 경로는 겹치는 것이다 즉 겹치는 경로를 굳이 한번 더 탐색할 필요가 없다 코드 import sys sys.se.. 2023. 2. 15.
Udemy : Python 스포티파이 재생목록 Udemy : Python 스포티파이 재생목록 설명 팝 음악 기간별 톱 100 차트를 통해서 음악 100개 가지고 오기 스포티파이 uri로 트랙들을 저장하여, 스포티파이의 플레이 리스트에 음악 넣기 from bs4 import BeautifulSoup import requests import os import dotenv dotenv.load_dotenv() date = "20100217" # input("Which year do you want to travel to? Type the date in this format YYYYMMDD: \n") response = requests.get( f"https://www.officialcharts.com/charts/singles-chart/20140216/.. 2023. 2. 15.
[Python] 백준 24482 알고리즘 수업 🧑‍💻 [Python] 백준 24482 알고리즘 수업 Silver 2 - DFS DFS 문제이다 깊이 우선 탐색으로, 탐색을 할 때마다 1씩 더해주면 된다 연결이 아예 안 되어 있을 때에는 -1 이다 내림차순 문제풀이 DFS 코드를 짜면 된다 코드 import sys sys.setrecursionlimit(10 ** 6) input = sys.stdin.readline def dfs(start, count): visited[start] = count for cur in graph[start]: if visited[cur] == -1: dfs(cur, count + 1) N, M, start = map(int, input().split()) visited = [-1] * (N + 1) graph = [[].. 2023. 2. 14.
Udemy : Python Web Scraping (parsing) Udemy : Python Web Scraping (parsing) Web Scraping 웹 사이트의 html을 사용하여, 웹 사이트에 있는 데이터를 가지고 오는 것이다 웹 스크래핑은 합법인가? 웹 스크래핑은 내 소유가 아닌 다른 사람의 소유의 웹 사이트의 데이터를 사용하는 것이다 주로 저작권이 없거나, 로그인 없이 접근할 수 있을 때에 데이터를 사용할 수도 있다 웹 스크래핑을 한 데이터를 상업화 하면 불법이 될 수 있다 저작권이 있는 데이터를 상업화 시키는 것도 불법이다 웹 사이트에 로그인을 하여, 웹 스크래핑을 할 경우 불법이다 로그인을 해서 데이터를 활용할 수 있는 웹 사이트들은, 회원가입 때에, 해당 사이트의 데이터를 못 쓰도록 인증하도록 되어 있다 웹 스크래핑을 막기 위해 사용되는 도구다 데이.. 2023. 2. 14.