목록Python (53)
준호씨의 블로그
문제 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 | 프로그래머스 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 공백(" ) 또는벽(#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 지도 1과 지도 2라고 하자. 지도 1 programmers.co.kr 지도는 정사각형 모양의 2차원 배열로 만들어져 있습니다. 이런..
for loop 에서 index 를 알려면 enumerate for i, x in enumerate([1, 3, 5]): print(i, x) 0 1 1 3 2 5 itertools.permutations 순열. 리스트 각 항목이 중복 되지 않는 모든 경우의 조합 구하기 import itertools for perm in itertools.permutations([1, 2, 3]): print(perm) (1, 2, 3) (1, 3, 2) (2, 1, 3) (2, 3, 1) (3, 1, 2) (3, 2, 1) 순열에 대한 자세한 설명은 http://junho85.pe.kr/1025 를 참고 한다.
알고리즘 문제 풀기에서 단골로 나오는 것중 하나가 순열입니. 리스트가 있을 때 서로 겹치지 않게 모든 경우로 표현하는 것입니다. 예들 들어 1과 2가 있으면 다음과 같은 조합을 만들 수 있습니다. 1 2 2 1 만약 1, 2, 3이 있다면 다음과 같은 조합을 만들 수 있겠죠? 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 순열은 factorial 로 경우가 수의 늘어납니다. 1! = 1 2! = 1 x 2 = 2 3! = 1 x 2 x 3 = 6 4! = 1 x 2 x 3 x 4 = 24 순열을 직접 구현 할 수도 있겠지만, 빠르게 해답을 찾으려면 itertools 를 사용할 수 있습니다. (python 만세) import itertools for perm in itertools.per..
osx 에서 lldb 로 디버깅 할 때 brew 로 python@2 를 설치 해 줬다면 이런 저런 에러를 보게 될 수 있다. brew 로 설치한 python@2 를 꼭 써야될 이유가 없다면 그냥 지우는게 속 편할 수도 있다. import six 는 설치 해서 해결 가능 import six 문제는 /usr/local/bin/pip install six 로 해결이 가능 한데 import weakref 문제는 해결 못함. Traceback (most recent call last): File "", line 1, in File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/copy.py", l..
import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s %(message)s') logging.info("test") import logging import time today = time.strftime("%Y%m%d") logger = logging.getLogger('myapp') logdir = "." logpath = logdir + '/logtest2.' + today + '.log' hdlr = logging.FileHandler(logpath) formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') hdlr.setF..