본문 바로가기

파이썬

(19)
[BOJ] 2644. 촌수 계산 문제 촌수계산 (https://www.acmicpc.net/problem/2644) 풀이 1. 초기 접근 문제조건 해석 움직임, 경로에 대한 문제고, 간선의 길이가 1로 정해져있다. BFS 문제다. 알고리즘 가장 기초적인 BFS 문제라고 생각된다. 파이썬에서 그래프 탐색이 필요한 문제들은, 일단 dict {} 로 그래프를 먼저 만들고, (부모노드가 key, 자식노드들이 해당 key의 values가 된다.) set {} 으로 방문체크용 스트럭처를 만들면 된다. 이러면 노드접근에 모두 상수시간 O(1) 밖에 안걸린다. 코드 import sys from collections import defaultdict n = int(input()) a, b = map(int, input().split()) t = int..
파이썬 Asterisk(*)에 대해서 머신러닝을 위한 파이썬 워밍업을 수강하던 와중에, Asterisk(*) 에 관해, 새롭게 알게된게 있어서 적어본다. 파이썬 오픈소스들 보다보면, 함수 정의할 때 인자에 *args 식으로 인자가 정의되어있는 식으로 *을 종종본다. 사실 이전 포스트에서도 적었듯, 이 쓰임새를 아예 몰랐던 건 아닌데, 이번 강좌를 통해 더 깊이 알게되었다. 사실, Asterisk라고 부르는 것도 처음알게 되었다. 용도와 쓰임새를 하나씩 다시 복습해보자. 1. * 인자는 함수 내에서 튜플이다. 가장 직관적인 예는 다음과 같다. def a(*args): print(type(args)) print(args) a(1,2,3,4) # output: # # (1, 2, 3, 4) 보다시피 튜플이다. 따라서, 내부에서 list처럼 mut..
파이썬으로 데이터 시각화하기 1편. matplotlib. 쥬피터에서 데이터를 시각화 하는 일반적인 방법을 정리해보려고 한다. 1편은 matplotlib 을 다루는 것으로, 이후에 pandas, seaborn 등으로 다루기 전에, 가장 기초와 기본이 되는 상식이라 할 수 있다. 기본 형태 일반적인 matplotlib 방식을 따른다. matploblib 를 사용하던 사람에겐 가장 친숙한 형태이고, 처음하는 사람들한테는, 가장 1차원적이고 직관적인 방법이다. 일단 기본적인 꼴은 다음과 같다. import matplotlib.pyplot as plt # figure, 즉 그래프를 표현할 액자를 먼저 만든다. plt.figure() # figure 를 출력한다. plt.show() 여기에 이제 데이터를 추가해 그래프를 그려보자. 선 그래프 plt.figure() # (..