프로그래밍-학습기록/코딩테스트

백준 온라인 저지 | 10871 | 실습: 세 수

leesche 2020. 7. 20. 20:28

어려웠다. 쉽게 풀 수 있을 줄 알았다가 혼났다. 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]);
		
	}

}

 이것이 처음에는 이해가 가지 않았었는데, 최근에 배웠던 알고리즘에서 정렬 방법들 중 이런 것과 비슷한 것이 있지 않았나? 생각했다. 위와 같은 풀이에서는 자기 자신의 배열에서 자신보다 작으면 값을 교환하므로 '삽입 정렬'과 가깝지 않을까? 잘 모르겠다 ...

 

 

[부스트코스] 모두를 위한 컴퓨터 과학 (CS50 2019) 강좌소개 : edwith

- 부스트코스

www.edwith.org