Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 2870번 c++
- c++
- 플레이어 이동
- 백준 1103번
- 백준
- 백준 c++ 2468번
- 2870번 수학숙제 c++
- 백준 2870번
- 프로그래머스
- 백준 1103번 c++
- 2870번
- 수학숙제
- 유니티
- 17070번
- Lv2
- 2870번 수학숙제
- Unity
- C#
- 오브젝트 풀링
- 코딩테스트
- 2468 c++
- Beakjoon
- 백준 17070번 c++
- 백준 1103번 게임
- Algorithm
- 백준 17070번
- 백준 c++ 2870번
- Lv.3
- dfs
- 코테
Archives
- Today
- Total
주녘공부일지
[프로그래머스 C#] Lv.2 H-Index 본문
https://school.programmers.co.kr/learn/courses/30/lessons/42747
1. 정답코드 및 핵심 아이디어, 유의사항
배열을 내림차순으로 정렬해서 0번 인덱스부터 확인하면, 지나온 논문 인용 값들은 현재 체크 중인 값보다 무조건 크거나 같기 때문에 인덱스 + 1은 인용된 논문의 수가 됨
-> 즉, 현재 체크 중인 인덱스에 따른 배열 안의 값이 인덱스 + 1의 값보다 작거나 같다면 H-Index를 찾은 것
( 현재 체크되는 논문의 인용된 수 <= 체크중인 논문보다 인용된 논문의 수가 크거나 같은 수 )
주석 참조
using System;
public class Solution
{
public int solution(int[] citations)
{
// 배열을 내림차순 정렬
Array.Sort(citations);
Array.Reverse(citations);
// 가장 큰 값부터 확인해 H-Index를 찾음
for (int i = 0; i < citations.Length; i++)
if (citations[i] <= i + 1)
return (citations[i] > i) ? citations[i] : i; // 더 큰 값을 리턴
return citations.Length;
}
}
'CodingTest > Programmers Lv.2' 카테고리의 다른 글
[프로그래머스 C#] Lv.2 피보나치 수 (0) | 2023.12.07 |
---|---|
[프로그래머스 C#] Lv.2 점프와 순간 이동 (1) | 2023.12.07 |
[프로그래머스 C#] Lv.2 점 찍기 (1) | 2023.12.06 |
[프로그래머스 C#] Lv.2 행렬의 곱셈 (1) | 2023.12.05 |
[프로그래머스 C#] Lv.2 최댓값과 최솟값 (1) | 2023.12.05 |