728x90

정렬 4

Bubble Sort

버블 정렬 버블 정렬은 옆에 있는 값과 비교하여 더 작은 값을 앞으로 보내는 것이다. 따라서 5 3 4 1 2 라고 있으면 3 5 4 1 2 3 4 5 1 2 3 4 1 5 2 3 4 1 2 5 이와 같이 한번 순회를 하면 맨 뒤가 제일 큰 값이 오게 된다. 한번 순회가 완료되면 맨 뒤는 비교해 줄 필요가 없다. 따라서 이중 for문을 이용하여 다음과 같이 구현 할 수 있다. vector BubbleSort(vector& _vec) { for (int i = 0; i _vec[j + 1]) // 앞의 값이 더 크다면 { int iTemp = _vec[j]; ..

Algorithm 2022.06.27

정렬 - H-Index

문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다. 논문별 인용 횟수는 0회 이상 10,000회 이하입니다. 입출력 예citationsretur..

#39. List

list의 사용을 위해서는 #include 를 해주면 된다. 리스트는 아래와 같이 선언한다. list 변수명; 리스트는 벡터와는 달리 앞 뒤 모두 원소삽입이 가능하다. push_back, push_front list는 노드기반의 컨테이너이기 때문에, 인덱스접근이 불가능 즉, []의 사용이 불가능하다 listInt[2] -> 불가능! 따라서 원소를 순회하기 위해서는 반복자를 이용해야 하는데 아래와 같다 list::iteratoriter_begin=listInt.begin(); for(;iter_begin!=listInt.end() ; ++iter_begin) cout list는 배열 기반이 아니기 때문에 sort함수를 사용 할 수 없다. 멤버함수의 sort를 사용하면 된다. listInt.sort(조건자)..

개발 Study 2021.05.24