python | geopy 라이브러리를 사용하여 두 좌표간 거리 구하기
·
TIL/python
geopy는 여러 지오코딩 웹 서비스를 위한 Python 라이브러리이다. 지오코딩(Geocoding): 고유명칭(주소나 산, 호수의 이름 등)을 가지고 위도와 경도의 좌표값을 얻는 것 geopy 라이브러리를 활용하여 다음과 같은 두 좌표(위도, 경도)간의 거리를 구할 것이다. lat, long은 고객 주소의 위경도, merch_lat, merch_long은 상점의 위경도이다. geopy 라이브러리를 사용하기 위해 먼저 pip를 이용해 설치한다. pip install geopy geopy 라이브러리에서 거리 계산을 위해 필요한 distance 모듈을 import 해준다. import geopy.distance distance 모듈은 두 지점에 대한 위도와 경도를 튜플 형태로 받아 거리를 계산한다. geop..
프로그래머스 | 2019 카카오 개발자 겨울 인턴십 | 크레인 인형뽑기 게임 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(board, moves): basket = [] # 바구니 c = 0 # 터트려져 사라진 인형의 개수 for m in moves: for i in range(len(board)): if board[i][m-1] != 0: print(board[i][m-1]) basket.append(board[i][m-1]) board[i][m-1] = 0 break # 인형을 찾았으면 board 반복 종료 # 바구니에 마지막으로 들어온 두 인형이 같으면 터트리기 if len(basket) > 1..
백준 7576 | BFS | 토마토 [파이썬 python]
·
Algorithm/백준
7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 코드 from collections import deque import sys input = sys.stdin.readline m, n = map(int, input().split()) # 가로, 세로 graph = [] for _ in range(n): graph.append(list(map(int, input().split()))) # 익은 토마토의 위치 queue에 추가 queue = deque() for i in range(n): for ..
pandas | str.split()을 사용하여 하나의 컬럼을 여러개로 나누기
·
TIL/python
다음과 같은 데이터프레임에 engine, mileage, max_power 등 각 값에 숫자와 문자가 함께 있는 컬럼들이 있다. 이런 컬럼들에서 숫자와 문자를 분리하기 위해 str.split() 함수를 사용할 수 있으며, 실행 결과는 다음과 같다. data['engine'].str.split() 이렇게 분리했을 때 숫자 값은 [0]번 인덱스에 존재하므로 다음과 같이 인덱스를 사용해 추출할 수 있다. data['engine'].str.split().str[0] 추출한 결과를 기존 데이터 프레임에 반영하기 위해서는 분리한 개수만큼의 코드를 반복해서 작성해야 한다. data['engine'] = data['engine'].str.split().str[0] data['engine_unit'] = data['en..
프로그래머스 | 옹알이(2) [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(babbling): answer = 0 can = ['aya', 'ye', 'woo', 'ma'] for bab in babbling: # babbling의 단어 하나씩 확인 for c in can: if c * 2 not in bab: # 연속으로 나오지 않으면 공백(' ')으로 대체 bab = bab.replace(c, ' ') if bab.isspace(): # 공백으로만 이루어져 있으면 answer+1 answer += 1 return answer 옹알이(1) 문제에서는 p..
pandas | describe()를 사용하여 object 데이터까지 확인하기
·
TIL/python
DataFrame의 통계 정보를 확인하기 위해 describe()를 사용할 수 있다. 다음과 같이 int, object형의 데이터로 구성된 데이터프레임 data가 있다. 기본적으로 describe() 함수는 int, float 같은 숫자 데이터에 대한 통계 정보를 제공한다. data.describe() object형 데이터도 describe()를 사용할 수 있다. describe() 함수의 매개변수 include에 'object'를 전달해 주면 된다. data.describe(include='object') object 데이터에 describe 결과는 count, unique, top, freq 정보가 제공된다. count: 데이터의 개수 unique: 고윳값의 수(nunique의 결과와 같음) top:..