728x90
인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 간략한 문제 설명, 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다.
- 문제 링크 : https://cote.inflearn.com/contest/10/problem/02-08
- 문제 설명 : n명의 학생의 점수를 입력받고 등수를 입력된 순서대로 출력(동일 점수는 높은 등수로 처리. 예를 들어 100점이 3명이면 3명 모두 1등이고, 그 다음 사람은 4등)
풀이
- 이중 for문을 사용하여 다른 사람들과 점수 비교를 통해 등수를 계산
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
//등수 구하기
public class Main2_8 {
/**
* @param n : 학생 수
* @param arr : 점수
* @return 등수
*/
public static int[] solution(int n, int[] arr) {
int[] retArr = new int[n];
for (int i = 0; i < n; i++) {
int count = 1;
for (int j = 0; j < n; j++) {
if (arr[j] > arr[i]) {
count++;
}
}
retArr[i] = count;
}
return retArr;
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; st.hasMoreTokens(); i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
for (int i : solution(n, arr)) {
System.out.print(i + " ");
}
}
}
'알고리즘 문제풀이 > 인프런' 카테고리의 다른 글
[알고리즘] 2-11 임시반장 정하기 (인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.19 |
---|---|
[알고리즘] 2-9 격자판 최대합(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.14 |
[알고리즘] 2-7 점수계산(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.14 |
[알고리즘] 2-6 뒤집은 소수(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.13 |
[알고리즘] 2-5 소수, 에레토스테네스 체(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.13 |
댓글