language/python 4

프로그래머스 하노이의 탑 (파이썬 풀이)

https://programmers.co.kr/learn/courses/30/lessons/12946?language=python3 코딩테스트 연습 - 하노이의 탑 하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대 programmers.co.kr 내가 한 풀이 n=1일 경우 1번 탑에서 3번 탑으로 이동 = 1 n=2일 경우 1번 탑에서 1번째 판 2번 탑으로 이동 1번 탑에서 2번째 판 3번 탑으로 이동 2번 탑에서 1번째 판 3번 탑으로 이동 => n=1일 경우 3번 반복 n=3일 경우 1번 탑에서 1,2번째 판 2번 탑으로 이동 => n=2일 경..

language/python 2021.10.15

[파이썬/python] 순열(permutations)과 조합(combinations)

순열 서로 다른 n개 중 r개를 뽑아 순서를 고려하여 경우의 수를 나열 nPr의 형태로 표현한다. ex ) ['가','나','다','라'] 중 1등, 2등을 뽑는 방법은 아래와 같다. ['가' '나'] /['가' '다']/['가' '라'] ['나' '가'] /'[나' '다']/'[나' '라'] ['다' '가'] /['다' '나']/['다' '라'] ['라' '가'] /['라' '나']/['라' '다'] 조합 서로 다른 n개 중 r개를 뽑아 순서를 고려하지않고 경우의 수를 나열 nCr의 형태로 표현한다. ex ) ['가','나','다','라'] 중 2개를 뽑는 방법은 아래와 같다. ['가' '나'] /['가' '다']/['가' '라'] '[나' '다']/'[나' '라'] ['다' '라'] 파이썬에서 순열(..

language/python 2021.10.03

파이썬 힙(heapq) 모듈

힙(heap)이란? - 부모 노드가 자식 노드보다 키값이 항상 큰 '최대 힙' 과 항상 값이 작은 '최소 힙'이 있다. - 최대값, 최소값을 빠르게 찾아내기 위한 완전이진트리 모양의 자료구조 파이썬에서 힙 -파이썬은 heapq 모듈(우선순위 큐 알고리즘) 를 제공한다. -heapq 모듈은 최소 힙 형태로만 구현되기 때문에 최대힙의 경우 따로 구현해야한다. cf. 최대힙 구현하기 import heapq list_a=[4,1,8,9,2,5] max_heap=[] for i in list_a: heapq.heappush(max_heap,(-i,i)) while max_heap: print(heapq.heappop(max_heap)[1]) #9 #8 #5 #4 #2 #1 힙 원소 추가 heapq.heappush..

language/python 2021.09.30

파이썬 내장함수 map

map 함수란? map 함수는 반복가능한 iterable객체를 받아, 각 요소마다 함수를 적용하는 함수이다. 주로 list 객체에 사용한다. map(적용할 함수,iterable 객체) map 함수 예제 리스트에 적용한 map 함수 num_list=["1234"] a=list(map(int,num_list)) print(a) #[1234] num_list=[1,2,3,4] a=list(map(str,num_list)) print(a) #['1', '2', '3', '4'] num_list=[1,2,3,4] a=int(''.join(map(str,num_list))) print(a) #1234 딕셔너리에 적용한 map 함수 num={1:10,2:20,3:30} a=list(map(lambda x:x*2,nu..

language/python 2021.09.03