티스토리 뷰
반응형
문제
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 solution(int count, int[] scores) {
int rank;
for (int i=0; i<count; i++) {
rank = 1;
for (int j=0; j<count; j++) {
if (scores[i] < scores[j]) {
rank++;
}
}
System.out.print(rank + " ");
}
return count;
}
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int count = scanner.nextInt();
int[] scores = new int[count];
for (int i=0; i<count; i++) {
scores[i] = scanner.nextInt();
}
Main main = new Main();
main.solution(count, scores);
}
}
(Time 164ms / Memory 27MB)
- for 문 한번으로 풀어보려고 머리 쓰다가 결국 풀이 영상에 나오는 방법으로 풀었다. for 문 두번으로 값을 비교해 등수값을 매기는 방법이다.
반응형
'Java > Coding Test' 카테고리의 다른 글
[코딩테스트] 봉우리 (0) | 2022.03.10 |
---|---|
[코딩테스트] 격자판 최대합 (0) | 2022.03.10 |
[코딩테스트] 점수계산 (0) | 2022.03.08 |
[코딩테스트] 뒤집은 소수 (0) | 2022.03.08 |
[코딩테스트] 소수(에라토스테네스 체) (1) | 2022.03.07 |