기록하지 않았다면 잃어버릴 시간들
Home
  • 분류 전체보기 (184)
    • Lang (6)
      • c++ (2)
      • Java (2)
      • python (2)
    • 프레임워크 (18)
      • Spring (16)
      • JPA (2)
    • 알고리즘 (141)
      • 이론 (4)
      • 백준 (59)
      • Codility (13)
      • 프로그래머스 (65)
    • CS (4)
      • 운영체제 (0)
      • 자료구조 (0)
      • DB (4)
      • 네트워크 (0)
      • 보안 (0)
    • 기타 (7)
    • 프로젝트 (4)
      • 게시판 만들기로 배우는 Spring Data JP.. (4)
Home
  • 분류 전체보기 (184)
    • Lang (6)
      • c++ (2)
      • Java (2)
      • python (2)
    • 프레임워크 (18)
      • Spring (16)
      • JPA (2)
    • 알고리즘 (141)
      • 이론 (4)
      • 백준 (59)
      • Codility (13)
      • 프로그래머스 (65)
    • CS (4)
      • 운영체제 (0)
      • 자료구조 (0)
      • DB (4)
      • 네트워크 (0)
      • 보안 (0)
    • 기타 (7)
    • 프로젝트 (4)
      • 게시판 만들기로 배우는 Spring Data JP.. (4)
블로그 내 검색

기록하지 않았다면 잃어버릴 시간들

새로운 것을 배우는게 즐거운 개발자입니다.

  • 알고리즘/프로그래머스

    Programers H-Index

    2022. 3. 12.

    by. 내이름은 킹햄찌

    https://programmers.co.kr/learn/courses/30/lessons/42747

     

    코딩테스트 연습 - H-Index

    H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표

    programmers.co.kr

    프로그래머스 H-Index 문제입니다.

     

    #include <string>
    #include <vector>
    #include <algorithm>
    using namespace std;
    
    int solution(vector<int> citations) {
        int answer = 0;
        sort(citations.begin(),citations.end());
        for(int i =0;i<citations.size();i++){
            if(citations.size() - i <= citations[i]) 
                return citations.size() - i ;
        }
        return answer;
    }

     

    아이디어

    이 문제는 문제 이해를 완전히 하는게 풀이의 95퍼센트라해도 과언이 아닐정도로 이해하기가 어려웠음

    실제로 H-Index라는 것이 존재 했고, return citations.size() - i; 라인을 이해하는데 정말 많은 시간을 사용함

    아마 프로그래머스에서 제공된 테스트 케이스 [3, 0, 6, 1, 5] result = 3이 원인이 아닐까 생각 됨

    제공 된 테스트 케이스의 3과 결과 값 3을 보고 테스트 케이스에 있는 값이 반환이 되어야 한다는 생각이 강하게 박히면서 작성한 코드의 모든것을 의심하고 심지어는 피곤해서 if문의 비교연산자를 착각하고 있는게 아닐까 라는 생각까지 함

     

    이해를 도울수 있는 테스트 케이스 몇가지 공유합니다.

    [3]  -> result = 1

    [3, 5, 7] -> result = 3 // 3번이상 인용된 논문이 3편임

    [0, 0, 0, 2, 3, 3, 3] -> result = 3 // 3번 이상 인용된 논문이 3편임

     

    '알고리즘 > 프로그래머스' 카테고리의 다른 글

    Programers 네트워크  (0) 2022.03.12
    Programers 타켓넘버  (0) 2022.03.12
    Programers 가장 큰 수  (0) 2022.03.12
    Programers K번째수  (0) 2022.03.12
    Programers 전화번호 목록  (0) 2022.03.12

    댓글

    관련글

    • Programers 네트워크 2022.03.12
    • Programers 타켓넘버 2022.03.12
    • Programers 가장 큰 수 2022.03.12
    • Programers K번째수 2022.03.12
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
내이름은 킹햄찌

티스토리툴바