old/자료구조_알고리즘

[Java]배열요소 역순으로 복사하기

뒷골목프로그래머 2020. 1. 26. 00:19
반응형

본 포스팅은 'Do it! 자료구조와 함께 배우는 알고리즘 입문 Java편'을 스터디 한 내용입니다.

 

 

배열요소 역순 복사를 위해서,

1) 복사하고자 하는 배열을 역순으로 정렬하고

2) 역순정렬된 배열을 복사한다.

 

이를 위해, swapArray와 reverseArray메소드를 활용해

main 메소드에 생성했던 originArray를 역순정렬한 후,

 

copyArray 메소드에서 복사하는 방식이다.

import java.util.Scanner;

/**
 * @Date 2020. 1. 25.
 * @Time 오후 11:56:27
 * @author BRYANT
 * =====================
 * Writing Developer
 */
public class arrayReverseCopy {
	
	static void swapyArray(int a[], int idx1, int idx2) {
		
		int temp = a[idx1];
		a[idx1] = a[idx2];
		a[idx2] = temp;
		
	}

	static void reverseArray(int a[]) {
		
		for(int i=0; i<a.length/2; i++) {
			
			swapyArray(a, i, a.length-i-1);
			
		}
		copyArray(a);
		
	}
	
	static void copyArray(int a[]) {
		
		int copyArray[] = new int[a.length]; //복사할 배열
		for(int i=0; i<a.length; i++) {
			
			copyArray[i] = a[i];
			
		}
		
		System.out.print("copyArray : ");
		for(int i=0; i<copyArray.length; i++) {
			
			System.out.print(copyArray[i]+" ");
			
		}
		System.out.println("");
		
	}
	
	public static void main(String[] args) {
		
		Scanner Scanner = new Scanner(System.in);
		System.out.println("요솟수 : ");
		int num = Scanner.nextInt();
		int originArray[] = new int[num];
		for(int i=0; i<num; i++) {
			
			originArray[i] = Scanner.nextInt();
					
		}
		
		System.out.print("originArray : ");
		for(int i=0; i<originArray.length; i++) {
			System.out.print(originArray[i]+" ");
		}
		System.out.println("");
		reverseArray(originArray); //배열 swap

	}

}
반응형