Programmers / 3단계 / 가장 먼 노드 / python
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/49189# 코드from collections import dequedef solution(n, edge): graph = [[] for _ in range(n+1)] visited = [0] * (n+1) for e in edge: x, y = e[0], e[1] graph[x].append(y) graph[y].append(x) q = deque() q.append(1) visited[1] = 1 while q: p = q.popleft() for i in graph[p]: ..
[웹크롤링] 네이버지도 크롤링 (+ 유의점)
·
웹크롤링
프로젝트 중 네이버 지도 정보가 필요하여 크롤링하였다. 코드는 아래를 참고하였다. https://velog.io/@kimdy0915/Selenium%EC%9C%BC%EB%A1%9C-%EB%84%A4%EC%9D%B4%EB%B2%84-%EC%A7%80%EB%8F%84-%ED%81%AC%EB%A1%A4%EB%A7%81%ED%95%98%EA%B8%B0  하지만 아래와 같이 짝수번째 값만 에러가 발생하였고, 상호명은 출력되지만 주소만 출력이 되지않아서  addr을 따로 출력해보니 짝수번째만 리스트 값이 비어있었다.  네이버 지도에서 다시 도로명 주소를 확인했더니 홀수, 짝수별로 클래스명이 달랐다 .. 확인을 안 하고 짝수 클래스명으로 접근해서 에러가 났던 것이었다. 네이버 지도 크롤링 전체 코드추가적으로 위도, ..
Programmers / 3단계 / 무인도 여행 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 무인도 여행 | 프로그래머스 스쿨 (programmers.co.kr)  코드from collections import dequedef solution(maps): N, M = len(maps), len(maps[0]) visited = [[0] * M for _ in range(N)] queue = deque() answer = [] for i in range(N): for j in range(M): if maps[i][j] =='X' or visited[i][j]: continue queue.append((i,j)) visited[i][..
[웹크롤링] 구글맵 크롤링하기 (Selenium)
·
웹크롤링
구글맵의 데이터를 크롤링하기 위해 필요한 라이브러리인 selenium과 BeautifulSoup을 설치한다.conda install seleniumconda install BeautifulSoup  chrome driver 설치 아래의 웹에서 자신의 크롬 버전에 맞는 크롬 드라이버를 설치한다.https://sites.google.com/chromium.org/driver/ ChromeDriver - WebDriver for ChromeWebDriver is an open source tool for automated testing of webapps across many browsers. It provides capabilities for navigating to web pages, user input,..
[android] 레이아웃 (LinearLayout / FrameLayout / RelativeLayout)
·
카테고리 없음
LinearLayout - 수평 또는 수직의 방향성을 가지고 있는 레이아웃 (객체를 만들면 겹치지 않고 수평 또는 수직으로 나열됨)- 은 방향성을 가지고 있기 때문에 속성을 항상 선언해주어야 한다 (horizontal, vertical) ​(width / height) 속성1) match_parent나를 포장하고 있는 부모(parent)의 너비에 꽉 채워서 작성하여 보여준다= 보여지는 화면 길이에 맞춰서 보여준다​2) wrap_content부모와 관계없이 text 속성의 작성한 내용만큼 보여준다= 객체의 이름의 길이 만큼 보여진다. FrameLayout- 수평/수직으로 정하는 방향성이 없다 ( 객체를 만들면 나열되지 않고 왼쪽 위에서 모두 겹쳐진다) (layout_gravity)객체의 위치를 지정하여 ..
백준 / 1439번 / 뒤집기 / python 파이썬
·
코딩테스트/백준 (python)
문제 : https://www.acmicpc.net/problem/1439  코드s = input()count = 0for i in range(len(s)-1): if s[i] != s[i+1]: count += 1print((count + 1) // 2)  연속된 숫자가 변하는 횟수에서 1을 더한 후 2로 나눈 몫이 구하는 뒤집은 최소 횟수가 된다.
Programmers / 3단계 / 섬 연결하기 / python / Greedy / Kruskal 알고리즘
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/42861  코드def solution(n, costs): answer = 0 costs.sort(key = lambda x: x[2]) s = set([costs[0][0]]) while len(s) != n: for v in costs: if v[0] in s and v[1] in s: continue if v[0] in s or v[1] in s: s.update([v[0], v[1]]) answer += v[2] ..
[파이썬 웹크롤링] 네이버 블로그 크롤링하는 법, 페이지 구분하는 법
·
웹크롤링
페이지가 나눠져 있는 경우가 아닌, 스크롤을 내리면 끝없이 페이지가 나오는 사이트에 대한 크롤링은 어떻게 할까?  네이버 블로그의 경우 페이지로 구분되어 있지 않고 스크롤을 내리면 계속해서 추가적인 정보가 뜬다. 이때 F12를 눌러 개발자 도구로 들어가서 네트워크 탭을 클릭하여 켠 상태에서 스크롤을 내리면 페이지가 업데이트되는 시점에 네트워크 탭도 같이 변경된다.  검색 후 스크롤을 내리지 않은 상태에서 현재 페이지에 해당하는 정보 값을 검색한다. 예시로 크롬확장프로그램을 검색하였다.   Headers탭에 있는 Request URL이 해당 블로그의 주소이다. 이것이 1페이지에 해당하는 주소이고, 스크롤을 하여 새롭게 나온 페이지의 정보 값을 검색하여 나온 주소를 통해 2, 3페이지도 얻을 수 있다.  여..