기본 콘텐츠로 건너뛰기

int 배열 오름차순 정렬을 이용해 내림차순 쉽게 구하기

타입에러 때문에 제공하는 정렬함수를 쓸 수 없을때 그리고 형변환 하기 귀찮을 때
comparator, comparable의 재정의 없이 간단하게 정렬할 수 있는 방법입니다.

예; sort라는 오름차순정렬 함수가 정의된 경우
int[] B = ~~~~~~
//오름차순 정렬
sort(B);

//내림차순 정렬
for(int i=0;i<B.length;i++)
  B[i] = -B[i]

sort(B);

for(int i=0;i<B.length;i++)
  B[i] = -B[i]

댓글

이 블로그의 인기 게시물

프로그래머스 - 시저 암호

public class Caesar { String caesar ( String s , int n ) { n %= 26 ; String result = "" ; char [] temp = s . toCharArray (); for ( int i = 0 ; i < temp . length ; i ++) { if ( temp [ i ]>= 'a' && temp [ i ]<= 'z' ) temp [ i ] = ( char ) (( temp [ i ]+ n )> 'z' ? ( temp [ i ]+ n - 1 )% 'z' + 'a' : ( temp [ i ]+ n )); else if ( temp [ i ]>= 'A' && temp [ i ]<= 'Z' ) temp [ i ] = ( char ) (( temp [ i ]+ n )> 'Z' ? ( temp [ i ]+ n - 1 )% 'Z' + 'A' : ( temp [ i ]+ n )); result += temp [ i ]; } return result ; } public static void main ( String [] args ) { Caesar c = new Caesar (); System . out . println ( "s는 'a B z', n은 4인 경우: " + c . caesar ( ...