summer_story
-
기초다지기
[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번..
-
자료구조
[Stack] 백준 2493번: 탑
이번 문제는 정말 너무너무 고생해서 푼 문제이다. 시간복잡도 때문에!!! (`ー´) 스택으로 푸는 문제 2493번 탑에 대해서 알아보자. 이 말들을 간단히 추려보면, 각자 다른 높이의 탑이 있는데 왼쪽으로 레이저를 쏘면 누가 맞겠는가! 그 인덱스를 출력하라는 문제이다. 조금만 자세히 읽어보면 간단히 이해할 수 있다. 여기서 나는 이 문제를 스택으로 풀기 마음 먹었으니 스택으로 푸는데... 정말 많이 고민하고 많이 시도해봤다는걸 느낄 수 있겠는가... 흑... 아무튼 빨리 본론으로 넘어가자. 문제 풀기 전에 주의 할 점 일단, 문제를 풀기전에 주의할 점이 있다. 1. 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 ..
-
기초다지기
[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번..