[python] 딕셔너리 값 기준으로 정렬하기
d = {'minsu': 78, 'gunho': 64, 'sumin': 84, 'jiwon': 96, 'woosung': 55} ## key, value 둘 다 출력됨 result = sorted(s.items(), key=lambda x : x[1], reverse=True) #[('jiwon', 96), ('sumin', 84), ('minsu', 78), ('gunho', 64), ('woosung', 55)] ## key값만 출력됨 result = sorted(s, key=lambda x : s[x], reverse=True) #['jiwon', 'sumin', 'minsu', 'gunho', 'woosung']
2020. 1. 13.
[BOJ 1012 유기농배추] BFS와 DFS로 풀기 (python)
문제조건 연결요소(덩어리)의 개수를 찾는다. 가로, 세로와 행열 인덱스 주의하자. 핵심개념 pypy는 최대 재귀깊이가 10만으로 설정되어 있다. 이걸 넘으면 런타임에러가 발생한다. sys.setrecursionlimit(10**6) 100만으로 늘려준다. (참ㅋㅋㅋㅋㅋ) DFS가 BFS보다 메모리를 적게 쓰긴 하는구나. 코드 DFS (메모리 30276 KB) dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] import sys sys.setrecursionlimit(10**6) #재귀 깊이 설정 (10만 -> 100만) def dfs(x, y, _cnt): dist[x][y] = _cnt for k in range(4): nx, ny = x+dx[k], y+dy[k] if 0
2019. 10. 14.