본문 바로가기

전체 글42

[C++ HackerRank 코드 챌린지] 0-3. Jumping on the Clouds 계속해서 HackerRank에 있는 interview-preparation-kit에 속한 문제중 Jumping on the Clouds에 관해 풀어보도록 하겠습니다. 저의 코드는 github에 올려 두었으니 참고하시면 좋겠습니다. 이 문제는 0과 1의 숫자 array를 입력으로 받고 그 입력 중 0을 연결해서 array의 마지막 항까지 도달할때 이동한 횟수를 구하는 문제입니다. 이때 array는 최대 2칸까지 이동할 수 있습니다. 예를들어서 다음과 같이 사이즈가 7인 array 입력이 들어오면, 7 0 0 1 0 0 1 0 1-2-4-5-7의 순서로 총 4번 이동하여 도달할 수 있으므로 4를 return하면됩니다. 6 0 0 0 0 1 0 위와 같은 입력일 경우에는 1-3-4-6으로 3번만 이동하면 되죠.. 2020. 4. 23.
[C++ HackerRank 코드 챌린지] 0-2. Counting Valleys 지난글에이어 HackerRank에 있는 interview-preparation-kit에 속한 문제중 Counting Valleys에 관해 풀어보도록 하겠습니다. counting valley는 U(Up)와 D(Down)로 이루어진 string입력을 받고 이를통해 계곡이 몇개 포함되어 있는지 찾는 문제입니다. 출발은 sea level에서 하고 sea level 아래로 내려갔다가 다시 sea level로 복귀하면 계곡이 1개 카운트가 되는 법칙입니다. 예를들어서 입력이 다음과 같다면, 8 UDDDUDUU 위 그림과 같이 나타낼 수 있고 sea level에서 출발해서 sea level로의 복귀가 1번있었으므로 계곡은 1개 카운트가 되게 됩니다. 이러한 형태의 random input을 받아서 올바른 return을.. 2020. 4. 22.
[C++ HackerRank 코드 챌린지] 0-1. Sock Merchant 오늘부터 코딩관련 연습을 하나씩 해보려고 합니다. 매일매일 기능구현에만 집중하다보니 정작 기본을 놓치고 있다는 느낌이 드네요. 그래서 HackerRank에 있는 Interview preparation kit에 속한 문제들을 하나씩 풀어보려고 합니다. https://www.hackerrank.com/interview/interview-preparation-kit The HackerRank Interview Preparation Kit | HackerRank Prepare for you upcoming programming interview with HackerRank's Ultimate Interview Preparation Kit www.hackerrank.com 먼저 Warm-Up Challenges에.. 2020. 4. 21.
베이즈 정리(예제)-Application of Bayes' Theorem 2014/04/29 - [Programming & Engineering] - Bayes' Theorem(베이즈정리) 기본참고 교재 : Probability and Stochastic Processes (Roy D. Yates & David J. Goodman) 지난 시간에 알아 보았던 베이즈 정리를 이용한 Estimation의 예를 들어 보도록 하겠습니다. 천천히 읽으시면서 따라오시면 어렵지 않을 거에요 우선 정수 값만 취하는 X라는 변수가 있습니다. 이 X는 센서나 어떠한 measurement를 통해 예측될 값이죠. 사건 An을 X=n일 때의 사건이라고 정의 해 봅시다. 즉 X=1이면 사건A1이고, X=3이면 A3이 되겠죠, 이때 센서로부터 예측될 값 X에 대해서 우리가 알고 있는 단하나의 정보는 'X.. 2014. 5. 14.
Bayes' Theorem(베이즈정리) 기본참고 교재 : Probability and Stochastic Processes (Roy D. Yates & David J. Goodman) 이번 글에서는 Optimal estimation의 기본이 되는 Bayes' Rule에 대해 알아보도록 하겠습니다. 우선은 조건부 확률을 알아야 한다. 조건부 확률이란. 사건 B가 발생했다는 가정하의 사건 A의 발생에대한 확률을 말한다. 즉, 표본공간(=sample space, 사건이 일어날 수 있는 모든 경우의 수의 집합)이 사건 B의 원소로만 구성되어 있는 경우의 확률과 같은 의미이다. 어떻게 위와 같은 식이 나왔는지 보면, 조건부 확률의 정의로부터 다음과 같이 쓸 수 있다. n(B)는 사건B가 발생하는 경우의 수이고, n(AB)는 B가 발생할때 A가 발생하는.. 2014. 4. 29.
수치해석 기법-2. Euler Integration by MATLAB 2014/04/28 - [Programming & Engineering] - 수치해석 기법-1. Euler Integration기본참고 교재 : Fundamentals of Kalman Filtering : A Practical Approach (Paul Zarchan & Howard Musoff) 어찌보면, 당연한 얘기지만 그래도 MATLAB simulation을 통해 이 오일러 적분을 증명해 보도록 하겠습니다. 다음과 같은 삼각함수를 생각해보죠, 이 식의 1차미분은 이 식을 한번 더 미분하면 이 식의 초기조건은 처음 2식의 t에 0을 넣음으로서 결정할 수 있구요. 이제 MATLAB simulation을 통해 일때, 이 식의 오일러 적분을 두번 한 결과가 아래 식과 같아지는지 확인해 보도록 하겠습니다... 2014. 4. 28.
수치해석 기법-1. Euler Integration 기본참고 교재 : Fundamentals of Kalman Filtering : A Practical Approach (Paul Zarchan & Howard Musoff) Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis. 위키피디아에 나온 수치해석이란 용어의 정의 인데요. 잘 읽어보면, 어떠한 문제의 수학적 분석을 위해, 수치적 근사값을 구하는 것. 이라고 말할 수 있는데요 주로 미분방정식의 해를 구할 때 아마 수치해석이란 용어를 많이 들어 보셨을 거에요. 이번에는 다양한 수치해석의 방법 중 간단하지만 주로 쓰이는 Euler integr.. 2014. 4. 28.
Quadrotor -2부 쿼드로터 신호출력 지난 1부 쿼드로터는 어떻게 나는가! 를 통해 쿼드로터의 기본적 Dynamics를 살펴 보았습니다. 이번 글을 통해서는 한개의 신호로 어떻게 4개의 모터 출력을 조절할 수 있는지에 대해 알아보도록 하겠습니다. 쿼드로터가 공중에서 정지(Hovering) 해 떠있기 위해서는 Gyro 센서, 가속도 센서, 고도 센서 등등으로부터 피드백을 받죠 이 신호들은 MCU를 거쳐 모터가 알아먹을 수 있는 4개의 각기다른 PWM신호로 출력되어야 합니다.(PWM에 대해 궁금하신분들은 PWM 완전 정복! 참고하세요) 예를들어 볼게요, 만약, Hovering하던 쿼드로터가 바람이나 외부 충격에 의해 기울어 졌다면 다시 수평으로 자리를 잡아야 겠죠? 그러면 Gyro 센서가 그 즉시 기울어졌다는 피드백 신호를 보내줄겁니다 이때, .. 2012. 12. 6.