본문 바로가기

분류 전체보기45

[백준 2294] 동전 2 https://www.acmicpc.net/problem/2294 해설 이 문제는 DP 즉, 다이나믹 프로그래밍 문제이다. ( 그리디로도 해봤지만 풀리지 않았다. ) 다이나믹 프로그래밍의 특별한 점은 큰 문제를 작은 문제로 나누어서 구한다는 것이다. 그러므로 작은 문제를 메모를 해가면서 큰 문제의 답을 구할 수 있는 발판을 마련하는 것이 다이나믹 프로그래밍 푸는 방법이다. 다이나믹 프로그래밍으로 문제를 푸려면 점화식을 구해야한다. 예제를 가지고 설명해보겠다. 설명은 대충 n번째 동전으로 k원을 만드는 데 필요한 최소 동전의 개수 구하는 걸 표로 써볼 거다. 일단 시작하기 앞서 0원은 어떤 동전이든 0개 필요하니,dp[0~n-1][0] = 0 으로 초기화 시켜놓겠다. 또, dp에서 0번 배열을 제외한 나머.. 2020. 3. 27.
아두이노 CH340 드라이버 설치 다운로드하기 앞서...우리가 흔히 사용하는 아두이노 보드는 두 가지로 나뉜다.아두이노 보드와 흔히 짝퉁이라고 불리는 아두이노 호환보드.아두이노는 오픈 보드다 보니, 누구나 호환 보드를 만들 수있고, 팔 수있다.호환 보드는 정품 보드가 3만원 인 반면에 1만원 이하의 매우 합리적인 가격과 많이 차이나지 않는 성능으로 일반인들에게 대중화 되어 있다. 하지만, 호환 보드는 CH340 이라는 드라이버를 깔아야만 아두이노 프로그램에서 인식한다는 단점이 있다. ( 물론 드라이버가 필요하지 않은 보드도 있을 것이다.) 그래서 이번 시간에는 CH340 드라이버를 깔아보려고 한다.다운로드 하는 법https://sparks.gogo.co.nz/ch340.htmlCH340 Drivers for Windows, Mac and.. 2020. 3. 27.
[C++ STL] sort 를 통해 정렬해보자. WHAT? SORT C++ STL에 있는 sort는 sort(start, end) 와 같이 간단한 코드로 정렬을 할 수있게 해준다. 퀵 정렬을 기반으로 이루고 있어, 평균 시간복잡도 또한 nlogn으로 빠른 정렬 속도를 보여주고 있다. 우리는 코딩 문제를 풀면서 정렬 하는 문제를 최소한 하나 정도는 만났을 것이다. 실제 대회에서 정렬 하는 함수 구현하는 것은 시간면에서도 매우 불리한 상황이 될 수있으니, 이번 시간을 통해 c++ stl 에서 제공하는 sort를 제대로 배워보자. 기본적인 sort 구문은 오름차순으로 정렬하니, 참고하기 바란다. HOW? USE! STL에서 제공하는 만큼 대체적으로 사용하기 쉽다. sort(start, end); 이거면 끝이다. 나는 지금부터 두 가지 경우에서 사용하는 방법.. 2020. 3. 26.
[백준 1541] 잃어버린 괄호 https://www.acmicpc.net/problem/1541 해설 이번 문제는 그리디 알고리즘을 사용하는 문제이다. 괄호를 더하고 빼서 최솟값을 구하는 게 문제인데, 나는 이렇게 풀었다. +가 있는 건 신경안쓰고 그냥 더해주고, 뒤에 -가 하나라도 나오면 - 로 괄호를 묶어 뒤에 있는 수를 다 더해줬다. 예시 1) 1+2+3-3+5 여기서 최솟값은 (1+2+3)-(3+5) 일거다. 예시 2) 1-3-1+5+2-13 여기서 최솟값은 1-3-(1+5+2)-13 이다. 결국 +뒤에는 -로 괄호를 묶어 더해준 셈이 된다. 1-3-(1+5+2)-13 = 1-(3+1+5+2+13) 이정도면 해설은 충분히 됐을 거라고 생각한다. 이번에는 글쓴이가 코드를 너무 더럽게 짜서 혹시라도 이 블로그 글을 보고 있다면 다.. 2020. 3. 26.