이전 시간에 java를 이용하여 배열의 선언과 사용법에 대해서 알아보았는데요. 이 배열에 값을 할당하고 java 정렬 기능을 구성하여 값의 순서를 바꿔보는 방법에 대해서 알아보겠습니다.
보통 정보처리기사 실기 시험에서 배열 문제를 많이 접하게 되는데요. 배열의 기본 로직은 바로 if문을 이용한 비교에 있습니다.
일단 소스를 통해서 한번 설명 드리겠습니다.
1. 11, 22, 33, 44, 55 의 수를 반대로 출력하기
이 소스는 숫자를 비교하지 않고 기존의 숫자를 반대로 출력하는 예제입니다.
import java.io.IOException; public class arraytest { public static void main(String[] args) throws IOException { int su[]={11,22,33,44,55}; int su2[] = new int[5]; int number =0; System.out.print("int su2 : ["); for(int i=4; i>=0; i--){ su2[number] = su[i]; System.out.print(su2[number]); number++; if(i!=0){ System.out.print(", "); } } System.out.println("]"); } }
기본적인 소스는 다음과 같은데요.
su라는 배열에 정렬해야할 숫자를 집어넣습니다.
그리고 for문을 i값이 0이 될때까지 로프가 돌게 됩니다.
su의 5개의 방에서 마지막 값(su[i])을 뽑아서 su2[number]에 넣게 됩니다.
이렇게 가변적인 값 i는 4부터 number는 0부터 시작하기 때문에
su가 가지고 있는 마지막 방 부터 su2에 순서대로 저장되게 됩니다.
결과
2. 가변적인 형태의 숫자 정렬
가변적인 형태의 배열 안의 숫자를 반대로 정렬하시오 (배열안의 데이터의 갯수는 변하되 나머지 코드는 변경되면 안됨)
import java.io.IOException; public class arraytest { public static void main(String[] args) throws IOException { int su3[]={44,77,22,11,55,66,99,33}; int temp; for (int i=0; i<=su3.length/2; i++){ temp = su3[(su3.length)-1-i]; su3[su3.length-1-i]=su3[i]; su3[i] = temp; } System.out.print("int su3 : ["); for (int j=0; j<=su3.length-1; j++){ System.out.print(su3[j]); if(j != su3.length-1 ){ System.out.print(", "); } } System.out.println("]"); } }
위의 정렬 예제는 첫번째 예제와 달리 가변적인 형태를 띄는데요.
결과
소스를 수행한 결과는 위와 같습니다.
보통 정보처리기사 실기에서 나오는 예제는 따로 변수를 두고 if문 비교를 통해서 정렬하는 방법을 택하고 있는데요.
정보처리 실기 문제가 있다면 이를 한번 java 정렬 코드로 변경하여 연습해 보시기 바랍니다.
답글 남기기