Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- jsp 연결
- 스프링부트 jsp 연결
- sql 테이블명 바꾸기
- 스프링 jsp 연결
- 자바
- 자바마스터
- HTML
- 비디오 태그 썸네일
- 정신차리고공부하자 #개발자되기 #몰입하자
- 스프링 jsp
- 스프링부트
- 정수 자료형
- html video thumbnail
- 자바정렬
- 자바 #Java #Scanner #스캐너 #자바알파벳입력
- MySQL 테이블명 바꾸기
- 스프링부트 오류
- 스프링부트 마이바티스
- Failed to configure a DataSource
- 순위정렬
- video tag
- html input
- src/main/java
- @PathVariable
- 랭킹정렬
- selection does not contain a main type
- 비디오 태그 이미지
- 자바 순위정렬
- SpringBoot Mybatis
- spring jsp
Archives
- Today
- Total
쌤리
순위 정렬, 랭킹 정렬 본문
- 자바 수업에는 10명의 학생이 있다. 아래 배열에 각 학생의 점수가 입력되어 있다.
int[] score = {60, 34, 55, 100, 95, 76, 65, 90, 80, 87};
- 순위를 매겨보자
class Main {
public static void main(String[] args) {
int[] scores = { 60, 34, 55, 100, 95, 76, 65, 90, 80, 87 };
for (int i = 0; i < scores.length; i++) {
int rank = 1;
for (int j = 0; j < scores.length; j++) {
if (scores[i] < scores[j]) {
rank++;
}
}
}
}
}
- 한번씩 비교 할 때마다 rank 값은 1로 초기화 돼야 한다.
- j = 0, 0 부터 < scores 배열의 길이인 10까지, 즉 총 9번 반복 하면서 j의 값이 1씩 증가한다.
- scores[0](i 의 값) 이 < scores [0](j의 값) 은 일단 패스. 그 다음을 보자
- if (scores[0] (0번째 배열은 60점) < scores[1] (1번 배열은 34점) ) rank ++; 즉 60 점이 34점 보다 작으면 rank 가 하나 늘어나지만 여기서는 해당 X
- 3번 배열과 비교해보자. scores[0] < score [3], 즉 60점 < 100점. 이 경우에는 조건에 맞기 때문에 rank 가 하나 늘어난다.
- 위와 같은 방식으로 반복하면서 옆 숫자와 비교 하다 보면 순위에 맞게 rank 가 증가한다.
- 이러한 방식으로 배열 길이인 scores.length - 1, 즉 9번을 반복하면 배열의 숫자들은 각각의 맞는 순위를 가지게 된다
※실행을 해보자!!
- 역순으로 순위를 매기고 싶다면 비교 조건을 아래와 같이 하면 된다
if (scores[i] > scores[j])
'자바 JAVA > 자바 기초' 카테고리의 다른 글
매개변수, parameter (0) | 2020.04.27 |
---|---|
생성자, constructor (0) | 2020.04.27 |
Bubble Sort, 버블 정렬, 거품정렬 (0) | 2020.04.26 |
추상 클래스, abstract class (0) | 2020.04.24 |
클래스와 객체 Class & Object (0) | 2020.04.24 |
Comments