반응형

파이썬 73

[python] 파이썬으로 순열, 조합 구하기 :: permutation in python/ combination in python

파이썬으로 순열과 조합 구하기 1. 순열 A B C D 에서 순서에 상관있이, 중복 없이 2가지를 뽑는 모든 경우의 수는? A BA CA DB AB CB DC AC BC DD AD BD C 이를 파이썬에서는 itertools 로 쉽게 구할 수 있다. > import itertools> pool = ['A', 'B', 'C', 'D']> print("\n".join(list(map(' '.join, itertools.permutations(pool, 2))))) A BA CA DB AB CB DC AC BC DD AD BD C 3가지를 뽑고 싶을 때는 itertools.permutations(pool, 3) 으로 구하면 된다. > pool = ['A', 'B', 'C', 'D']> print("\n".jo..

Python 2019.11.20

[python] 튜플 정렬하기(두 번째 원소로 정렬하기) :: tuple sorting in python

파이썬에서 튜플 정렬하는 방법 > v = [(3, 4), (2, 2), (3, 3), (1, 2), (1, -1)]> print(v) [(3, 4), (2, 2), (3, 3), (1, 2), (1, -1)] 1. 첫 번째 원소로 오름차순 정렬하기 > v = [(3, 4), (2, 2), (3, 3), (1, 2), (1, -1)] > v.sort(key = lambda x : x[0])> print(v) [(1, 2), (1, -1), (2, 2), (3, 4), (3, 3)] 2. 첫 번째 원소로 내림차순 정렬하기 > v = [(3,4),(2,2),(3,3),(1,2),(1,-1)] > v.sort(key=lambda x:-x[0])> print(v) [(3, 4), (3, 3), (2, 2), (1..

Python 2019.11.16

[백준] 2108번 : 통계학 in python 파이썬

파이썬으로 백준풀기 :: 2108번 통계학 https://www.acmicpc.net/problem/2108 코드 123456789101112131415161718192021222324252627# 평균def mean(v) : return round(sum(v)/n) # 중앙값def median(v) : if n == 1 : return (v[0]) else : return (v[n//2] if n%2!=0 else round((v[n//2]+v[n//2+1])/2)) # n이 홀수일땐 가운데 값 return/ 짝수일땐 가운데 두 개 평균 # 최빈값from collections import Counterdef many_value(v) : if n == 1 : return v[0] c = Counter(v..

[백준] 10989번 : 수 정렬하기 3 in python 파이썬

파이썬으로 백준풀기 :: 10989번 수 정렬하기 3 https://www.acmicpc.net/problem/10989 코드 1234567import sysc = [0]*10000n = int(sys.stdin.readline())for _ in range(n) : c[int(sys.stdin.readline())-1] += 1for i in range(10000) : [print(i + 1) for _ in range(c[i])]cs 이 문제는 아주아주 예민한 문제이다. 메모리가 상당히 적은 부분만 할당되기 때문에 코드를 딱 한 글자만 고쳐도 통과가 되기도, 안 되기도 한다. 애초에 할당되는 메모리가 적기때문에 input을 처음에 다 받아서 저장하면 무조건 메모리 초과가 뜬다. input을 따로 저장..

[알고리즘] 파이썬으로 힙 정렬 구현하기 :: heap sort in python

파이썬으로 힙 정렬(heap sort) 구현하기 힙 정렬(Heap sort)이란 최대 힙 트리나 최소 힙 트리를 구성해 정렬을 하는 방법으로서, 내림차순 정렬을 위해서는 최대 힙을 구성하고 오름차순 정렬을 위해서는 최소 힙을 구성하면 된다. 본 포스팅에서는 최소힙으로 오름차순 정렬을 구현해보겠다.내림차순은 아래 코드에서 부등호방향만 반대로 바꾸면 된다. 123456789101112131415161718192021222324252627def heapify(li, idx, n): l = idx * 2; r = idx * 2 + 1 s_idx = idx if (l li[l]): s_idx = l if (r li[r]): s_idx = r if s_idx != idx: li[idx], li[s_idx] = li..

반응형