등수 구하기

Seung jun Cha·2023년 1월 17일
0
  • N명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요.
    같은 점수가 입력될 경우 높은 등수로 동일 처리한다. 즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다.
5
87 89 92 100 76

class Main {	
	public int[] solution(int n, int[] arr){
		int[] answer = new int[n];
		for(int i=0; i<n; i++){
			int cnt=1;
			for(int j=0; j<arr.length; j++){
				if(arr[j]>arr[i]) cnt++;
                // 자신의 값과 나머지 값들을 비교하여 
                큰값이 있으면 등수 증가
			}
			answer[i]=cnt;  // 새로 만든 배열에 등수를 넣어준다.
		}
		return answer;
	}
    
	public static void main(String[] args){
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		int n=kb.nextInt();
		int[] arr=new int[n];
		for(int i=0; i<n; i++){
			arr[i]=kb.nextInt();
		}
		for(int x :T.solution(n, arr)) System.out.print(x+" ");
	}
}

배열에서 자기 값과 다른 값들을 하나씩 비교하려면 이중for문을 사용하면 될 듯

0개의 댓글