이번 포스팅은 Event Listener의 정체입니다. 많은분들이 코딩을 배우면서, 반응형 System(Web, Application...)을 배우면서 Event Listener에 대해서 배우게 됩니다. Event Listener는 Event(사용자의 Click or 키보드 입력 등.... Not normal한 상태)가 발생할 경우 해당 행동을 인지하고, 사용자에게 결과를 반환해 줍니다. 설명을 잘 살펴보면 1. 사용자의 특정 입력을 받는다. 2. 해당 입력이 무엇인지 판단한다. 3. 입력에 따라 정해진 결과를 반환한다. 함수의 구조와 매우 유사한 것을 알 수 있습니다. 그렇다면, 함수를 이용해서 아래와같은 Event Listener를 만들 수 있을 것입니다. def listener_left(): whi..
https://docs.python.org/ko/3/library/threading.html threading — 스레드 기반 병렬 처리 — Python 3.9.6 문서threading — 스레드 기반 병렬 처리 소스 코드: Lib/threading.py 이 모듈은 저수준 _thread 모듈 위에 고수준 스레딩 인터페이스를 구축합니다. queue 모듈도 참조하십시오. 버전 3.7에서 변경: 이 모듈은docs.python.org이번 포스팅은 Thread에 대한 내용입니다. Thread란 Python뿐만 아니라, 대부분의 모든 언어에서 지원하는 병렬처리를 위한 프로그래밍 입니다. 아래 간단한 이미지를 보시죠일반적으로, Main Flow가 흘러가면서 순차적으로 작업을 진행합니다. 이때, 작업1과 작업2, 작업..
순열이란 영어로는 Permutation으로 n개의 물체를 순서를 고려해서 m개를 뽑는 경우의수를 의미합니다. 중고등학교 시간에 배웠던 nPm입니다. 경우의 수가 몇개인지 구하는 것은 간단합니다. n!/m!을 해주면 갯수는 구할 수가 있습니다. 하지만 컴퓨터과학에서 모든 경우의수를 탐색하는 완전탐색을 위해서는 경우의 수의 갯수가 아니라, 모든 경우의 수를 구해야 하는 일이 있습니다. 1. Python의 내장라이브러리인 itertools의 permutations 매쏘드를 사용할 수 있습니다. 2. 직접 산출하는 함수를 지정하는 방법에 대해서 살펴봅시다. 일단 우리는 nPm의 경우의수 개수를 알고 있습니다. 해당 방법을 활용해서 경우의수를 모두 구하게 됩니다. 첫번째 Pick의 가능한 경우의 수는 nPm입니다..
이번 문제는 주어진 모든 경우의수를 찾고, 여기서 소수를 찾는 문제입니다. programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 문제를 보면 1~7개 사이의숫자가 주어지고 해당 숫자를 가지고 만들어지는 모든 경우의수 중 소수를 찾게됩니다. 그렇다면 간단하게 두 파트로 나누면 됩니다. 1. 주어진 1~7개 사이의 숫자로 가능한 모든 경우의 수를 만든다. 2. 경우의수 중 소수인 값을 찾는다. 1번의 경우, permu..
이번에는 순서규칙을 맞춘 경우만 선택하는 스킬트리 문제입니다. programmers.co.kr/learn/courses/30/lessons/49993?language=python3 코딩테스트 연습 - 스킬트리 programmers.co.kr 바람의 나라를 예로 들어봅시다. 화염주, 화열참주, 진화열참주, 극진화열참주 가 있다고 해보겠습니다. 이름부터 화염주 화열참주 를 배우는 것은 문제가 되지 않습니다. (이때 화염주 계열 이외에는 기술의 순서가 없다고 생각합니다) 하지만 화열참주 -> 저주 -> 중독 -> 진화열참주 순으로는? 앞에 화염주는 배우기 전이기 때문에 불가능한 스킬트가 됩니다. 이러한 방법으로, 불가능한 경우의수를 정리하면 1. 상위 기술이 하위기술보다 먼저 배우는 경우 2. 상위 기술이 하..
이번 포스팅은 최대공약수/최소공배수를 Computer를 이용해서 구하는 방법입니다. 1. 단순탐색 컴퓨터를 사용하지 않을 경우 구했던 방법을 생각해보면 1. a와 b가 있다. 2. a = a_1*a_2*a_3...., b = b_1*b_2*b_3....의 형태로 인수분해 한다. 3. 이때 인수분해 된 값들 중 교집합을 찾는다. Prime Number를 구하는 포스팅을 참고하면, N의 숫자가 있을 때 N을 인수분해 하기 위해서는 1~1/N까지의 값으로 N을 나눤서 0이되는 값을 찾아야 합니다. 하지만 이 방법은 O(N)의 시간복잡도를 갖기 때문에, 숫자가 커질수록 알고리즘의 성능이 떨어집니다. 2. 유클리드 호제법 다른 방법으로는, 두 수의 나눗셈결과를 이용하는 유클리드호제법이 있습니다. ko.wikipe..
- Total
- Today
- Yesterday
- GDC
- 병렬처리
- Greedy알고리즘
- 사칙연산
- SIMD
- 이분탐색
- hash
- git
- C++
- stack
- Sort알고리즘
- Python
- Search알고리즘
- 분할정복
- 동적계획법
- 코딩테스트
- prime number
- 알고리즘
- 완전탐색 알고리즘
- 컴퓨터그래픽스
- heap
- 프로그래머스
- 자료구조
- AVX
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |