글
프로그래머스 C# H-Index(Array.Sort(), 파이썬, 자바)
프로그래밍
2023. 2. 4. 18:59
728x90
SMALL
using System;
using System.Linq;
public class Solution {
public int solution(int[] citations) {
int answer = 0;
Array.Sort(citations);
Array.Reverse(citations);
for(int i = 0;i<citations.Length;i++)
{
if(citations[i] >= i+1)
{
answer++;
}
}
return answer;
}
}
/////////////
//이건 아무리 봐도 설명이 부실했다. 예에 나온 것처럼 [3, 0, 6, 1, 5] 일때 인용이 많은 순서대로 정렬한 [6,5,3,1,0]에서 0번째 인덱스는 1보다 커야하고 1번째 인덱스는 2보다 커야하는 식으로
///내림차순으로 정렬된 어레이에서 처음부터 i 번째 어레이의 인덱스가 i+1보다 크지 않은 첫 번째 경우가 나올 때까지의 갯수를 구하는 건데 약간 설명이 애매하게 돼 있다.
파이썬
def solution(citations):
citations.sort(reverse=True)
answer = max(map(min, enumerate(citations, start=1)))
return answer
/////
def solution(citations):
citations = sorted(citations)
l = len(citations)
for i in range(l):
if citations[i] >= l-i:
return l-i
return 0
자바
import java.util.Arrays;
class Solution {
public int solution(int[] citations) {
int answer = 0;
Arrays.sort(citations);
for(int i=0; i<citations.length; i++)
{
int smaller = Math.min(citations[i], citations.length-i);
answer = Math.max(answer, smaller);
}
return answer;
}
}
728x90
'프로그래밍' 카테고리의 다른 글
프로그래머스 C# 나머지가 1이 되는 수 찾기(파이썬, 자바) (0) | 2023.02.05 |
---|---|
프로그래머스 C# 음양 더하기(파이썬, 자바) (0) | 2023.02.05 |
프로그래머스 C# 배열 두 배 만들기(P, J) (0) | 2023.02.04 |
프로그래머스 C# 몫 구하기(개쉬움, 파이썬, 자바) (0) | 2023.02.02 |
프로그래머스 C# 이진 변환 반환하기(이진수, 이진법 Convert.ToString) (0) | 2023.02.01 |