< id="tt-body-category">
본문 바로가기 메뉴 바로가기

burningrizen

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

burningrizen

검색하기 폼
  • 분류 전체보기 (254)
    • development (14)
      • python (5)
      • django (4)
      • git (3)
      • ubuntu (1)
      • aws (1)
    • common (3)
      • tistory (2)
      • document (0)
    • python lecture (233)
      • basic (96)
      • concurrency (11)
      • functional programming (1)
      • cleancode (1)
      • common (6)
      • algorism (31)
      • programmers (65)
      • project (22)
  • 방명록

python lecture/algorism (31)
[edu] 몬테카를로 알고리즘 (monte carlo method) 원주률

https://m.blog.naver.com/PostView.nhn?blogId=rkdwnsdud555&logNo=220828040636&proxyReferer=https%3A%2F%2Fwww.google.com%2F def monte(repeat=1000000, radius=1000): area_circle = radius ** 2 in_circle = 0 count = 0 import random import timeit while True: start = timeit.default_timer() for _ in range(repeat): x, y = random.randrange(0, radius), random.randrange(0, radius) if x*x + y*y

python lecture/algorism 2020. 1. 30. 21:46
[edu] 올바른 괄호

-정규식으로 코드가 간단하지만 성능이 느리다. import re def is_bracket(s, p=""): while s != p: p = s s = re.sub(r"[\(][^\(\)]*[\)]", "", s) return not ("(" in s or ")" in s) -스택을 이용한 빠른 방법def is_bracket(s): sk = [] for c in s: if c == "(": sk.append(c) elif c == ")": if bool(sk): sk.pop() else: return False return not bool(sk)

python lecture/algorism 2019. 1. 17. 15:24
[edu] 행렬의 곱셈

행렬의 곱셈을 3중 포문으로 할수도 있다. 좀더 간단하게 하려면 set(*b) 로 행, 열을 바꾸어서도 가능하다. def solution(a, b): r = [] for y in range((len(a))): g = [] for z in range(len(b[0])): t = [] for x in range(len(a[0])): t.append(a[y][x] * b[x][z]) g.append(sum(t)) r.append(g) return r

python lecture/algorism 2018. 12. 21. 14:37
[edu] 퀵 소트

퀵 정렬(Quick Sort)28 Sep 2017 | algorithm이번 글에서는 퀵 정렬(Quick Sort) 알고리즘에 대해 살펴보도록 하겠습니다. 이 글은 고려대 김선욱 교수님 강의와 위키피디아를 정리하였음을 먼저 밝힙니다. 파이썬 코드 구현은 이곳을 참고하였습니다. 그럼 시작하겠습니다.개념퀵 정렬은 분할정복(divide and conquer) 방식으로 작동합니다. 그 절차는 다음과 같습니다.리스트 가운데서 하나의 원소를 고릅니다. 이를 피벗(pivot)이라 합니다.피벗 앞에는 피벗보다 작은 값, 뒤에는 큰 값이 오도록 하여 리스트를 둘로 분할합니다.분할된 두 개 리스트 각각에 재귀적으로 이 과정을 반복합니다.예시다음과 같은 리스트를 정렬해보겠습니다.[5, 3, 7, 6, 2, 1, 4]첫번째 값..

python lecture/algorism 2018. 12. 19. 18:45
[edu] 10진수 > n진수 변환

[폰트사이즈18 고딕 진하게] 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 def conv(n, base, exp="0123456789ABCDEF", result=""): while True: n, r = divmod(n, base) result = exp[r] + result if not n: break return result

python lecture/algorism 2018. 12. 19. 11:25
[edu] queue (with node)

단방향 linked list 를 이용해서 queue 를 구현해 보자 매직 키워드를 사용해서 for, enumerate, len, slicing, 등등 기능도 구현해 보자 class Node: def __init__(self, data, next=None): self.data, self.next = data, next class Queue: def __init__(self): self.head = None self.size = 0 def is_empty(self): return not bool(self.size) def enqueue(self, data): if self.is_empty(): self.head = Node(data) else: cur_node = self.head while cur_node..

python lecture/algorism 2018. 12. 11. 00:19
[edu] double linked list (with node)

[폰트사이즈18 고딕 진하게] 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 리팩토링 후 class Node: def __init__(self, data=None, prev=None, next=None): self.data, self.prev, self.next = data, prev, next class DList: def __init__(self): self.head = Node() self.tail = Node(prev=self.head) self.head.next = self.tail self.size = 0 def is_empty(self): return not bool(self.size) def ins..

python lecture/algorism 2018. 12. 9. 19:02
[edu] 4 와 7 구하기

[폰트사이즈18 고딕 진하게] 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 폰트 사이즈 12 고딕 문제 출처 https://www.acmicpc.net/problem/2877 def get_size(n): repeat = 1 cur_size = 0 size_prev = cur_size while True: cur_size += (2**repeat) if n

python lecture/algorism 2018. 12. 3. 17:04
[edu] 가위바위보 승패

[가위바위보 승패] 첫줄에는 a 의 가위, 바위, 보 각각 낼 가중치를 두번째 줄는 b 의 가위, 바위, 보 각각 낼 가중치를 세번째줄에는 a, b가 가위바위보 를 몇번 할것 인가를 모든 입력은 정수로 입력 받는다. (가중치는 상대적인 비례숫자이다, 2 4 1 이면 7번 하면 평균적으로 가위가 2, 바위가 4, 보가 1번 나올 수 있다. [Example 1]input:4 2 11 2 410000 output:[4271, 3271, 2458] [Example 2]0 1 10 1 01000 output:[496, 0, 504] def get_vic(hands): if (hands[0] == 0 and hands[1] == 2) or hands[0] > hands[1]: return 0 elif hands[0..

python lecture/algorism 2018. 11. 22. 15:40
[edu] 단어 폭탄

[단어 폭탄] 첫줄은 문자열을 입력하고 두번째 줄은 폭탄이 되는 문자열을 입력한다. 폭탄이 되는 문자열은 폭파되면서 제거 되고 더이상 폭탄이 존재하지 않을 때까지 계속 터진다 모든 폭탄이 터지고 난 이후 문자열을 출력하고 이때 아무 문자열도 없을 때는 'FRULA' 라고 [Example] inputmirkovC4nizCC44C4 outputmirkovniz 출처: https://www.acmicpc.net/problem/9935 def baam(chars, bombs): size_chars = len(chars) size_bombs = len(bombs) stack = [] i = 0 while i < size_chars: stack.append(chars[i]) size_stack = len(stack..

python lecture/algorism 2018. 11. 21. 19:40
이전 1 2 3 4 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 파이썬 독학
  • gitlab
  • 파이썬 프로그래밍
  • 모바일 테마 적용
  • 모바일 스킨 적용
  • chatbot
  • 파이썬 입문
  • wsgi
  • Tistory
  • GIT
  • 엑셀 비교
  • virtualenv
  • Python
  • admin.py
  • django
  • gitignore
  • django chatbot
  • 장고
  • 이미지 비교
  • 문서 비교
  • 플러스친구 자동응답
  • pycrypto
  • PuTTYGen
  • 문과 코딩
  • 장고 플러스친구 자동응답
  • 장고 카톡 자동응답
  • 면접답변
  • 파이썬 강좌
  • 파이썬
  • 면접정답
more
«   2025/08   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바