Seven Dwarfs

문제 복기

프로그램 종료 : System.exit(0); 반복문을 돌다가 일곱난쟁이를 찾으면 출력하고 프로그램을 종료해야하기 때문에 일곱난쟁이 출력 반복문을 다돌자마자 프로그램을 종료한다.

for(int i=0;i<n-1;i++) {
			int a = dwarf[i];
			for(int j=0;j<n;j++) {
				int b = dwarf[j];
				if(sum - a - b == 100) {
					for(int k=0;k<n;k++) {
						if(dwarf[k] == a || dwarf[k] == b) continue;
						System.out.println(dwarf[k]);//a,b를 제외하고 키들 출력!
					}
					System.exit(0);
				}
			}
		}

정수형 배열 오름차순 정렬 : Arrays.sort(arr) (디폴트가 오름차순 정렬) 정수형 배열 내림차순 정렬 : Arrays.sort(arr, Collections.reverseOrder()) 또는 기본 타입 배열을 내림차순으로 정렬하고 싶다면 기본 타입의 배열래퍼클래스로 만들어 Comparator를 두번째 인자에 넣어주어야 역순으로 정렬할 수 있다.

기본타입 배열 내림차순 정렬

import java.util.Arrays;

public class Sort{
    public static void main(String[] args)  {
        Integer arr[] = {4,23,33,15,17,19};
        Arrays.sort(arr,Collections.reverseOrder());
        
        for (int i : arr) {
            System.out.print("["+i+"]");
        }
    }
}

String 배열 내림차순 정렬

import java.util.Arrays;

public class Sort{
    public static void main(String[] args)  {
        String arr[] = {"apple","orange","banana","pear","peach","melon"};
        Arrays.sort(arr,Collections.reverseOrder());
        
        for (String i : arr) {
            System.out.print("["+i+"]");
        }
    }
}

객체 오름차순 정렬 : Comparator 재정의

class Interval {
	int start;
	int end;
	Interval() {start = 0; end = 0;}
	Interval(int s, int e) {start = s; end = e;}
}
Comparator Comp = new Comparator<Interval>() {
		public int compare(Interval a, Interval b) {
			return a.end - b.end;
		}
	};

Last updated