SW
-
[알고리즘] 카타란 수SW/Algorithm 2018. 1. 5. 14:55
카탈란 수 코드링크 쌍을 이루는 것들을 나열하는 모든 경우의 수. 카탈란 수열 문제들 모든 괄호 짝 산 만들기 대각선 피해가기 다각형을삼각형으로 나누기 모든 괄호 짝 n쌍의 괄호가 잘 짜놓은 방법을 Cn. (A)B => A에 괄호가 k쌍 있다면 B에는 n-1-k쌍이 있다.(트리?) C1= C0C0 c2= C0C1+C1C0 c3= C0C2+C1C1+C0C2 ... Cn= Σ Ci*Cn-1-i (i는 0~n-1) Code void PrintBracket(bool *state,int size){ for(int i=1;i>n; bool state[2*100]; //n은 최대 100개, 괄호를 열것인지 닫을것인지 넣는다. Bracket(state,1,n,0); return 0;}
-
[Codeforces] Educational Codeforces Round 35/ B.Two CakesSW/Algorithm 2018. 1. 4. 22:58
Educational Codeforces Round 35/ B.Two Cakes 문제 링크 코드 링크 블로그 풀이풀이 케익 두개를 한개는 a조각으로 다른하나는 b조각으로 나눈다. n명의 사람이 오는데 접시에 자른케익을 놓는다. 한 접시에는 적어도 한조각이 있어야한다. 두가지 종류의 케익을 같은 접시에 놓을 수 없다. (문제에) 접시에 최소 캐익의 조각 개수가 최대가 되도록 한다. min(a/i,b/(n-i)) : 접시에 최소 캐익의 조각. max(ans,min()) : 최대가 되도록 int main(){ int n,a,b; cin>>n>>a>>b; int ans=0; for(int i=1;i
-
[Codeforces] Educational Codeforces Round 35/ A.NearestMinimumsSW/Algorithm 2018. 1. 4. 08:30
Educational Codeforces Round 35/ A.NearestMinimums 문제 링크 코드 링크 블로그 풀이풀이 영어가 약해서 무슨말인지 이해하기 힘들었다. 주어진 숫자 중 최소끼리 가장 가까 운 거리를 구하는 것 이다. 3 4 6 3 중 3 이 최소.. 3 에서 3은 3칸 이므로 답은 3 이다. int input[100004];int main(){ int n; cin>>n; long long min_n=1000000003; int distance=100000000; int ans=10000000; for(int i=1;i>input[i]; if(min_n>input[i]) { min_n=input[i]; distance=i; ans=100000000; } else if(min_n==in..
-
[라즈베리파이] uart 통신 #1SW/Embedded 2018. 1. 2. 20:25
라즈베리파이 3은 HTMI를 지원해서 그냥 선 하나만 모니터에 꽂으면 가능하지만 가지고다니면서 어디서든 하기 위해서 노트북을 가지고 접속 할 수 있다. 이더넷 SSH를 이용한 접속도 가능 하지만 여기선 PL2303을 가지고 접속하는 방법을 알아 볼 것이다. 준비물 라즈베리파이+라즈비안이 올라간 sd카드 PL2303 USB 전원선 SD카드에 라즈비안이 올리는 방법은 구글에 치면 많이 나온다. 먼저 sd카드를 컴퓨터에 꽂고 들어가면 config.txt 파일을 열어 맨 마지막에 enable_uart=1 적고 저장한다. 그리고 라즈베리파이에 sd카드를 꽂는다. 준비한 PL2303 USB 빨간선이 vcc에 꽂는다. 라즈베리파이 gpio핀에 검정색은 ground에 꽂고 PL2303 TXD에 꽂아 있는..
-
[알고리즘] TopologicalSoring (위상정렬)SW/Algorithm 2018. 1. 1. 20:30
위상정렬 (topological sorting) 방향 그래프에 존재하는 각 정점들의 선행 순서를 위해하지 않으면서 모든 정점을 나열하는 것. 진입 차수 0인 정점(들어오지않는)을 선택하고 선택된 정점과 여기에 부속된 모든 간선을 삭제한다. 반복해서 모든 정점이 선택,삭제되면 알고리즘을 종료. 이 과정에서 선택되는 정점의 순서를 위상순서(topological order)라 한다.example 진입 차수가 없는 0,1 선택가능. 후보: 0,1 (여기선 1 선택) (스택사용) 1에서 뻗는 간선들 삭제.(그러면 4에 들어오는 차수 0) 후보: 0,4 (4 선택) 4에서 뻗는 간선(4->5)삭제. (5는 들어오는 다른 간선이 있기 때문에 후보X) 후보: 0 (0 선택) 반복... 위상 순서: 1 4 0 2 3 5..
-
[알고리즘] Divide & Conquer (분할정복기법)SW/Algorithm 2018. 1. 1. 10:30
Divide & Conquer (분할정복기법) Recursion 기반 해결기법 분할정복기법의 문제해결 시나리오 분할(Divide) : 주어진 문제를 쪼갬 정복(Conquer) : 나누어진 작은 문제는 재귀로 해결. (재귀적으로 계속 분할해간다) 통합(Combine) : 나눴던 문제들로부터 구한 해답들을 서로 통합하여 원래 문제의 해답을 만든다. Top-Down 문제해결 방법 Top-Down : 작은 문제로 분할하여 해결하는 방법 Recursion으로 알고리즘 구현 Top-Down 을 더 작은 문제로 반복해서 분할 Divide & Conquer 분할정복기법 알고리즘의 정확성 증명 (수학적 귀납법 사용) 분할정복기법 알고리즘의 시간복잡도 계산Tromino 타일 채우기 문제 : 한 모퉁이가 없는 2X2로 타일..
-
[스마트 자동차] 물품 & 조립 #1SW/Embedded 2017. 12. 31. 23:59
예전부터 라즈베리 자동차를 사서 가지고 놀고 싶었다. 그런데 미루고 미루다 드디어!!!!! 결제했다. 드디어 도착했다!!! 가격은 라즈베리파이 제외하고 자동차 키트만 99000원 ㅠ.ㅠ 살짝 비싸지만 가지고 놀고 공부하고 기타 등등 하면 얻는게 많을 듯 하니깐 긍정적으로 생각하자! 박스에 꽉찰 정도로 구성품이 많다 ㅎㅎㅎ 조립하기 막막했지만 설명서를 보고 하나하나 조립 했다. 설명서는 영어지만 그림과 부품품명만 보고 충분히 따라할 수 있을 정도 이다. 조립하는데에 3시간 정도 소요한것 같다. 처음에 파이팅 넘치게 나사를 꽉 조였더니 바퀴가 잘 안움직여 모든 나사를 적당히 딱 맞게 조였다. 짠!!! 라즈베리파이를 올리고 선만 연결하면 끝난다. USB동글 사고 보드들좀 공부하고 ..
-
[Docker] 도커 명령어 #1SW/Linux 2017. 12. 31. 09:53
Docker 다운 sudo apt-get install docker.io sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker 실행 $ sudo docker run -i -t --name hello ubuntu /bin/bash 컨테이너 목록 출력 sudo docker ps -a 컨테이너 시작 sudo docker start hello 외부에서 실행?? sudo docker exec -it webserver1 /bin/bash 컨테이너 접근 sudo docker attach hello 후 엔터 마리아db sudo docker run --name mariadb -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb:latest sudo ..