-
[Algorithm] 프로그래머스 C++ : H-IndexAlgorithm 2020. 8. 19. 16:59
https://programmers.co.kr/learn/courses/30/lessons/42747#
h가 citations의 배열에 있는 숫자가 아닐 수도 있다는 걸 놓쳐서 시간이 더 걸린 문제
일단 citations를 정렬하고
그냥 while&for문 브루트포스로 h가 0부터 1씩 늘어날 때마다
h보다 큰 수가 몇개인지 cnt로 세고
h>cnt일때 break걸고 그때의 h값부터 안되는거니까
h-1이 답이 됨
Code
#include <string> #include <vector> #include <iostream> #include <algorithm> using namespace std; int solution(vector<int> citations) { int answer = 0; int h = 0; sort(citations.begin(), citations.end()); while(h<=citations.size()) { int cnt = 0; for(int n: citations){ if(n>=h) cnt++; } if(cnt<h) break; h++; } // h일때 조건에 안맞아서 while문을 break 했으므로 -1해주기 answer = h-1; return answer; }
'Algorithm' 카테고리의 다른 글
[Algorithm] 프로그래머스 C++ : 소수 찾기 (1) 2020.08.25 [Algorithm] 프로그래머스 C++ : 모의고사 (0) 2020.08.24 [Algorithm] 프로그래머스 C++ : 가장 큰 수 (0) 2020.08.18 [Algorithm] 프로그래머스 C++ : K번째수 (0) 2020.08.17 [Algorithm] 프로그래머스 C++ : 이중우선순위큐 (4) 2020.08.15