어려웠다. 쉽게 풀 수 있을 줄 알았다가 혼났다. 1시간 동안 못 풀고 다른 사람 풀이를 봤다.
다른 사람의 풀이 (출처: https://ggmouse.tistory.com/281)
package baekjunOnlineJudge;
import java.util.Scanner;
public class Bj_10817 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] input = new int[5];
int tmp = 0;
for(int i=0; i<3; i++) {
input[i] = sc.nextInt();
}
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
if(input[i] > input[j]) {
tmp = input[i];
input[i] = input[j];
input[j] = tmp;
}
}
}
System.out.println(input[1]);
}
}
이것이 처음에는 이해가 가지 않았었는데, 최근에 배웠던 알고리즘에서 정렬 방법들 중 이런 것과 비슷한 것이 있지 않았나? 생각했다. 위와 같은 풀이에서는 자기 자신의 배열에서 자신보다 작으면 값을 교환하므로 '삽입 정렬'과 가깝지 않을까? 잘 모르겠다 ...
'프로그래밍-학습기록 > 코딩테스트' 카테고리의 다른 글
백준 온라인 저지 | 10996 | 별 찍기 - 21 (0) | 2020.07.22 |
---|---|
백준 온라인 저지 | 2446 | 별찍기 - 9 (0) | 2020.07.22 |
백준 온라인 저지 | 5543 | 실습: 상근날드 (0) | 2020.07.20 |
백준 온라인 저지 | 10039 | 실습: 평균점수 (0) | 2020.07.19 |
백준 온라인 저지 | 1110 | while문: 더하기 사이클 (0) | 2020.07.18 |