1. 정렬하기
우선 j<numArr.length-1-i인 이유와 i<numArr.length-1인 이유를 보자.
위와 같은 이유로 처음부터 배열 값보다 -1번만 반복하면 되기 때문에 i는 numArr.length -1이고, j는 반복을 한 번 완료할 때마다 반복해야할 횟수가 -1씩 감소하므로 numArr.length -1 -i이다.
isChanged는 없어도 상관 없으나 만약 정렬이 완료되었는데 굳이 반복문을 계속 돌릴 이유가 없으므로 체크해준다.
이외에 딱히 설명할 것은 없고 만약 인덱스를 바꿔주는 것이 이해가 되지 않는다면 어제 올린 글에서 https://7357.tistory.com/64 배열 값 뒤섞기 항목을 참고하자.
2. 값 카운트하기
딱히 어려운 것은 없다.
만약 arr[0]=4;라고 가정했을 때.
i=0인 상황에서 counter[arr[i]] += 1을 해준다면 counter[4] += 1이 된다.
그리고 arr[1]=4라면 i=1인 상황에서 counter[arr[1] += 1은 counter[4] = 2가 된다.
이런 원리로 카운트해주면 끝~~
'Language & Framework > Java' 카테고리의 다른 글
자바의 특성 단일상속, 그리고 단점 보완하기. (0) | 2022.06.04 |
---|---|
자바 멤버 변수의 초기화 순서 예제 (0) | 2022.06.03 |
자바 재귀 호출은 무엇인가? : factorial, 거듭제곱의 합 구하기 (0) | 2022.06.02 |
자바 2차원 배열 : 빙고, 행렬 곱셈, 단어 퀴즈 (0) | 2022.06.01 |
자바 배열 : 최소값 최대값 구하기, 합계 및 평균 구하기, 배열 뒤섞기, 로또 번호 만들기 (0) | 2022.05.30 |