전체
네이버 영화 웹 크롤링 + DB 구축 프로젝트(2) - DB 연동
MySQL 관리자로 로그인 $ mysql -u root -p Enter password: 로컬에서 접속 가능한 사용자 추가 mysql> CREATE user '사용자'@'localhost' IDENTIFIED BY '사용자_비밀번호'; DB 권한 부여하기 mysql> GRANT ALL PRIVILEGES ON *.* to '사용자'@'localhost'; # 모든 DB에 접근 가능 *.* mysql> GRANT ALL PRIVILEGES ON db_name.* to '사용자'@'localhost'; # 특정 DB에만 접근 가능 mysql> FLUSH PRIVILEGES; # 새로운 세팅 적용 사용자 계정 삭제 mysql> DROP USER '사용자'@'localhost';
네이버 영화 웹 크롤링 + DB 구축 프로젝트(1) - crawling
BeautifulSoup request.text를 이용해 가져온 데이터는 텍스트형태의 html 텍스트형태의 데이터에서 원하는 html 태그를 추출하는데 도와주는 것이 BeautifulSoup import requests from bs4 import BeautifulSoup url = 'https://kin.naver.com/search/list.nhn?query=%ED%8C%8C%EC%9D%B4%EC%8D%AC' response = requests.get(url) if response.status_code == 200: html = response.text soup = BeautifulSoup(html, 'html.parser') print(soup) else : print(response.status_..
백준 11000 강의실 배정(Heap, 우선순위 큐)
https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 처음에는 이문제와 비슷하다고 생각했는데 미묘하게 다른점이 난이도를 증가시켰다. https://www.acmicpc.net/problem/17262 17262번: 팬덤이 넘쳐흘러 선물 포장 공장을 말아먹은 욱제는 계곡에서 백숙을 파느라 학교에 자주 가지 못한다. 하지만 월클의 인생은 피곤한 법! 욱제는 지금처럼 힘든 시기에도 자신을 기다리는 5조5억명의 열렬한 팬 www.acmicpc.net 강의실을 최대한 추가 안하고 최소한의 강의실을 추가하는..
Coding Test(Union-Find, Disjoint-set)
유니온 파인드(Union-Find) Disjoint-set(서로소 집합, 분리 집합) 이라고도 하며 순수히 노드 간의 연결 관계를 파악할 때 유용하게 사용 무방향 그래프 내에서의 사이클을 판별할 때 사용(서로의 Root Node가 같다면 사이클 발생) 방향 그래프에서 사이클을 판별할 땐 DFS(DFS타다가 자기자신으로 돌아오면 사이클 발생) 0) Make - 간선이 아직 연결되어있지 않은 그래프에서 모든 값이 자기 자신을 가르키게한다 = > 자기 자신이 부모노드가된다 for(int i=1;i
백준 13900 순서쌍의 곱의 합(구현)
https://www.acmicpc.net/problem/13900 13900번: 순서쌍의 곱의 합 첫 번째 줄에는 입력 받을 정수의 개수 N(2 ≤ N ≤ 100,000) 두 번째 줄에는 N 개의 정수가 주어진다. 이때 입력 받는 정수들의 범위는 0이상 10,000 이하이다. www.acmicpc.net n의 범위가 100000이기 때문에 combination으로 풀면 안된다는것을 바로 알았다. 근데 어떻게 풀지를 몰라 한참을 고민하다가 리스트에 있는 값을 변수화 시켜서 구하는 과정을 해봤더니 list = [a,b,c,d] a(b+c+d) + b(c+d) + cd 이런식으로 규칙이 보이기 시작했다. 구현문제는 항상 어떠한 규칙을 찾아내야 하는데 쉬워보여도 생각이 잘 나지않아 어려운 것 같다. n = i..
백준 11571 분수를 소수로(구현)
https://www.acmicpc.net/problem/11571 11571번: 분수를 소수로 입력의 첫 번째 줄에는 테스트 케이스의 수 T (1 ≤ T ≤ 15,000)가 주어진다. 이후 각 테스트 케이스에 대해 한 줄에 분자와 분모 (0 ≤ 분자 < 1024, 0 < 분모 < 1024)가 공백으로 구분되어 정수로 주어진 www.acmicpc.net 개인적으로 엄청 어려운 문제였다. 처음에 접근한 방법은 소수점 아래의 숫자들을 문자열이라고 치고 반복적으로 나타나는 패턴을 찾기 위해 브루트포스를 이용하거나 한번 나온 숫자가 뒤에 다시 나올 떄 조건을 두는 방식으로 했는데 잘못된 생각이였고 잘 풀리지 않았다. 분수를 소수로 바꾸는 과정은 위의 사진처럼 나눗셈을 하면서 나머지에 대해 처리를 해주면서 진행이..