Q4. 문제. 정수 배열을 입력받아 올림차순으로 정렬해 출력하는 메서드를 만드시오.
예) int arr = { 5, 3, 4, 2, 1 }
Lineup(arr);
결과: 1 2 3 4 5
힌트1. 배열을 입력받는 메서드는 다음과 같이 생성하면 된다.
public static void Method(int[] arr)
힌트2.
선택정렬의 과정 : https://drive.google.com/file/d/1SUzKO-23atNmWn9L71l5k-ENIK45q19l/view?usp=sharing
선택정렬"은 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다.
주어진 배열 중에 최소값을 찾는다.
-> 그 값은 맨 앞에 위치한 값과 교체한다.
-> 맨 처음 위치를 뺀 나머지 배열을 같은 방법으로 교체한다.
▶ 13일 스터디 중 가장 어려웠던 문제였다.
A4-1. 달거북씨 코드
public class MKY_ArrayQ {
public static void main(String[] args) {
int[] arr = {20, 1, 9, 11, 7};
ascending(arr);
}
public static int[] ascending(int[] arr) {
for(int i=0; i<arr.length-1; i++) { // 4번만 비교하면 됨
for(int j=i+1; j<arr.length; j++) { // 배열의 끝까지 비교
if(arr[i]>arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for(int i=0;i<arr.length;i++){ // 정렬된 배열을 하나씩 출력하기 위한 for문
System.out.print(arr[i] + " ");
}
return arr;
}
}
▶ 하하
▶ 선택정렬은 이해했는데 배열 내에서 움직이는 방법을 왜 죽어도 모르겠을까.
▶ 처음엔 인터넷을 뒤져서 이것저것 코드를 복사해 와서 완성했다. 문제는 출력은 제대로 되는데 왜 되는지 모르겠다는거...
▶ 다른 분들의 코드리뷰를 듣고 다시 만든 코드다.
'study > 코드리뷰' 카테고리의 다른 글
220314 코드리뷰 Q2. 삼각형 넓이 구하기 (0) | 2022.03.17 |
---|---|
220314 코드리뷰 Q1. 노래 추천해주기 (0) | 2022.03.17 |
0313 코드리뷰 Q3. 피보나치 수열 출력하기 (0) | 2022.03.15 |
0313 코드리뷰 Q2. 팩토리얼 메소드 (0) | 2022.03.15 |
0313 코드리뷰 Q1.거스름돈 구하기 (0) | 2022.03.15 |