[프로그래머스] 방문 길이
문제 방문 길이 (https://programmers.co.kr/learn/courses/30/lessons/49994) 풀이 1. 문제 조건 해석 문제도 직관적이고, 변수 조건도 무난, 아주 심플하다. 2. 알고리즘 U, L, D, R 을 하나씩 입력받으며, 그냥 순차적으로 트래킹하면 된다. visited 를 set 자료구조로 두어, 이미 지나간 길인지 아닌지 체크하면 된다. 주의해야할 점은, 트래킹에는 '단방향성' 이 존재하지만, 길 자체는 '양방향' 이라는 점이다. 3. 코드 def solution(dirs): dxs, dys = [-1, 0, 1, 0], [0, -1, 0, 1] d = {"U": 0, "L":1, "D":2, "R": 3} visited = set()..
이제는 matplotlib 말고, Plotly 를 쓰자.
세련된 데이터 시각화 패키지, Plotly. matplotlib, seaborn 만 사용하다가, 최근에 훨씬 세련된 데이터 시각화 툴을 찾았습니다. plotly 인데, 웹 시각화 라이브러리인 d3.js 를 이용하여 보다 interactive 하게 그래프를 만들어줍니다. 그만큼, 굉장히 잘되어있고, 앞으로도 많이 발전할 라이브러리라는 생각이 듭니다. 예를 들어, 다음과 같은 그래프를 만들 수 있습니다. data = pd.Series(range(10)) data.iplot(kind='bar', title="제목", xTitle="x축", yTitle="y축") 코드만 봐도, matplotlib 보다 훨씬 간결함이 보입니다. 시각화 된 그래프 역시 훨씬 세련된게 느껴집니다. 또한, 우측 하단 Export to..
파이썬 정렬, 다중 조건으로 한 번에 하기.
파이썬으로 문제를 풀다보면, 여러 조건으로 소팅을 해야하는 경우가 있다. 일반적인 소팅은 다음과 같이 sorted() 혹은 .sort() 를 사용한다. a = [4,1,2,5,7,3,6] b = sorted(a) # b = [1,2,3,4,5,6,7] sorted() 를 찬찬히 살펴보면 다음과 같다. a = [(1, 2), (0, 1), (5, 1), (5, 2), (3, 0)] # 인자없이 그냥 sorted()만 쓰면, 리스트 아이템의 각 요소 순서대로 정렬을 한다. b = sorted(a) # b = [(0, 1), (1, 2), (3, 0), (5, 1), (5, 2)] # key 인자에 함수를 넘겨주면 해당 함수의 반환값을 비교하여 순서대로 정렬한다. c = sorted(a, key = lambd..