본문 바로가기

Algorithm/기초다지기

(6)
[c++] 16진수를 10진수로 16진수를 10진수로 바꾸는 방법을 알아보자. 이상하게 저번에는 함수가 없다고 알고 있어, 직접 함수를 만들어줬는데 다시 찾아보니까 함수가 있다.. 직접 만들어야 하는 경우가 있다면 항상 변수의 타입을 주의하자.. 큰수로 가면 계산이 달라져 결과값이 달라진다. 공식적으로는 함수가 존재하니 그냥 이 방법을 쓰는 것이 현명! #include using namespace std; int main() { cout
[c++] vector 중복값 없애기 swea 문제를 풀다가 알게된 vector의 원소 중 중복값 없애기! 정말 간단하게 가능하다. #include #include #include using namespace std; int main(){ vector v; v.push_back(2); v.push_back(4); v.push_back(5); v.push_back(2); v.push_back(7); v.push_back(4); //2,4,5,2,7,4 순서대로 저장됨. sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end()); /* algorithm 라이브러리에 있는 sorting 함수로 원소들을 정렬. algorithm 라이브러리에 있는 unique 함수: 중복된 값을 맨..
[c++] 정렬/솔팅 알고리즘 정리(삽입정렬, 선택정렬, 버블솔트, 퀵솔트, 병합정렬) 정렬 알고리즘 Sorting algorithm에는 흔히 5가지를 사용한다. 1. 삽입정렬(Insertion sort) :O(n^2) 2. 선택 정렬(Selection sort) : O(n^2) 3. 버블솔트(Bubble sort) : O(n^2) 4. 퀵솔트(Quick sort) : O(nlgn) 5. 머지솔트(Merge sort) : O(nlgn) 자, 이제 이 중에 원하는 알고리즘을 사용해보자. ʘ‿ʘ 참고로, 이번 포스팅에는 알고리즘 방법과 시간복잡도 그리고 슈도 코드만 써놓을 것이다. 소스코드를 복붙하여 가져다 쓰는 방법보다, 방법만 숙지하고 직접 적용해가며 배우는 것이 자신에게 훨씬 좋다. 사실 본인이 복붙해서 매번 쓸까봐도 있지만... 삽입 정렬(Insertion sort) 삽입 정렬은 2번..
[c++]최소 공배수와 최대 공약수 구하기 최소 공배수와 최대 공약수 최소 공배수와 최대 공약수를 구하라고 하면 중학생들이 아마 가장 잘 할 것이다. ಠ◡ಠ (인정?) 옛날에 학창시절에 배웠던 기억을 떠올리면 일단 두 수의 약수들을 구할 것이다. 예시를 보자. [3, 12] 3의 약수: 1,3 12의 약수: 1, 2, 3, 4, 6, 12 최소 공배수: 3 최대 공약수: 12 물론, 고등학교 때 유클리드 호제법이라는 것을 배워 조금 더 수훨하게 구했을 것이다. 우리는 유클리드 호제법을 이용하여 코딩을 하는게 가장 합리적인 방법이겠징. 유클리드 호제법 https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95 유클리드 호제법 - 위키백과,..
[기초다지기] 백준 문제집으로 시작하기 어떻게 시작하면 좋을까, 알고리즘? 코딩은 좀 해봤는데 뭔가 기초가 부족한 것 같기도 하고, 기초를 다지고는 싶은데 어떻게 시작해야될지는 모르겠고.. 나름 알고리즘을 공부한다고 백준 알고리즘을 주제별로는 풀어본 적은 있어도 기초부터 차근차근 풀어본 적은 없었다. 항상 과제할 때도 그렇고 프로젝트 할 때도 그렇고 그때그때 함수라든가 함수의 특징을 찾아 쓰기 때문에 찾은거 또 찾고 또 찾고.. 약간 자괴감드는 행동만 하는 것 같아서 이번에는 아주 쉬운 것부터 진행하기로 했다. 구글링 안해도 바로바로 코딩할 수 있도록! 그래서 서칭해본 결과 백준 문제집에 단계별로 풀어보기라는 아주 좋은 edition이 있었다! 개인적으로 문제집은 푼 만큼 파란 게이지바가 올라가는 희열감이 좋아 문제집으로 진행했다. (`▽´)..
알고리즘 너는 정말... 2019.07.04 PM 10: 47 뭐, 별 얘기를 하려는건 아니다. 대학교에 들어와서 코딩을 시작했고(고등학교 때 아주 간단한 c언어를 보이만 해봤지만) 지금은 취업을 이해서 알고리즘을 공부하는 그런 심심한 대학생이다. 1학년 때 우연히 들은 프로그래밍 수업은 너무나도 재밌었기에 진로를 바로 여기로 정해버렸지만, 게으른 탓인지 학교 공부만 열심히 했다. 진작에 흥미있는 공부 개인적으로 더 했어야하는건데.. 이것도 내 성격이라 생각하면 참 나도 ʘ‿ʘ 이번에는 방학을 맞아 문제를 풀 때마다 블로그 포스팅을 하며 진행할까 한다. 하루에 하나씩이 목표지만 가능할지는 모르겠다.. 가능하게 만들어야지! 알고 취준생이라면 모두 알고있는 백준으로 공부를 하고있다. 추가로 이번에는 친구에게 추천받은 Baaaaaaa..