-
[JAVA] 알고리즘 문제 - 등수 구하기Java 알고리즘 문제/자바(Java) 알고리즘 문제풀이 입문 2023. 8. 14. 14:43반응형
등수구하기
설명
N명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요.
같은 점수가 입력될 경우 높은 등수로 동일 처리한다.
즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다.
입력
첫 줄에 N(3<=N<=100)이 입력되고, 두 번째 줄에 국어점수를 의미하는 N개의 정수가 입력된다.
출력
입력된 순서대로 등수를 출력한다.
예시 입력
5
87 89 92 100 76예시 출력
4 3 2 1 5
import java.util.Scanner; public class Main { public int[] test(int n, int[] arr) { int [] answer = new int[n]; for(int i=0; i<n; i++) { int cnt = 1; for(int j=0; j<n; 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.test(n, arr)) { System.out.printf(x + " "); } } }
단순히 학생 수와 각 학생별로 점수를 입력 받아 해당 점수에 따른 등수를 출력하는 프로그램이다.
answer[]라는 새로운 배열을 만든 뒤에 점수를 비교하며 cnt를 증가시켜 등수를 출력해주면된다.
반응형'Java 알고리즘 문제 > 자바(Java) 알고리즘 문제풀이 입문' 카테고리의 다른 글
JAVA 알고리즘 문제 - 학급회장(Hash Map) (0) 2023.10.16 [JAVA] 알고리즘 문제 - 격자판 최대합 (0) 2023.08.18 [JAVA] 알고리즘 문제 - 점수 계산 (0) 2023.08.14 [JAVA] 알고리즘 문제 - 소수뒤집기 (0) 2023.08.09 [JAVA] 알고리즘 문제 - 소수(에라토스테네스 체) (0) 2023.08.09