<섹션2-ARRAY> 8. 등수구하기

조이·2021년 7월 28일
0

자바 알고리즘

목록 보기
20/41
post-thumbnail

8. 등수구하기

<설명>

N명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요. 같은 점수가 입력될 경우 높은 등수로 동일 처리한다. 즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다.

<입력>

첫 줄에 N(3<=N<=100)이 입력되고, 두 번째 줄에 국어점수를 의미하는 N개의 정수가 입력된다.

<출력>

입력된 순서대로 등수를 출력한다.

===================================================

<코드>

이중 for문을 활용하여 모든 값을 서로 비교하여 해당 값이 더 크다면 전체 인원 수에서 1씩 뻬서 등수를 구한다.


import java.util.ArrayList;
import java.util.Scanner;

public class Main {
	public ArrayList<Integer> solution(int[] array ) {
		ArrayList<Integer> answer = new ArrayList<>();
		for(int i=0;i<array.length;i++) {
			int sum=5;
			for(int j=0;j<array.length;j++) {
				if(array[i]>array[j]) sum--;
					
			}
			answer.add(sum);}
		return answer;
	}
	
	
	public static void main(String[] args) {
		Main main = new Main();
		Scanner scan = new Scanner(System.in);
	    int number=scan.nextInt();
	    int [] array=new int[number];
	    for(int i=0;i<number;i++) {
	    	array[i]=scan.nextInt();
	    }
	    for(int x: main.solution(array))
	    	System.out.print(x+" ");
     }
}

profile
joy_study

0개의 댓글