배열의 역순값을 다른 배열에 복사하는 메소드 만들기

han.user();·2023년 2월 24일
1

배열 Array

목록 보기
1/4
post-thumbnail

중요하다고 생각하는 포인트

이 코드는 b배열의 역순값도 구해야하고, 그것을 a배열에 copy까지해야하는 코드이지만, 일전에 학습한 swap메소드, reverse메소드를 따로 생성하지 않고, copy메소드 최하단 b배열의 인덱스 범위만 수정하여 역순값으로 바로 copy를 한다.

//--- 배열 b의 모든 요소를 배열 a에 역순으로 copy  ---//
  static void rcopy(int[] a, int[] b) {
	int num = a.length <= b.length ? a.length : b.length;
	  for (int i = 0; i < num; i++)
		a[i] = b[b.length - i - 1]; // <--포인트 부분

전체코드

package DataStructureBasic;

// 배열의 모든 요소를 역순으로 copy 합니다

import java.util.Scanner;

class Rcopy {

	//--- 배열 b의 모든 요소를 배열 a에 역순으로 copy  ---//
	static void rcopy(int[] a, int[] b) {
		int num = a.length <= b.length ? a.length : b.length;
		for (int i = 0; i < num; i++)
			a[i] = b[b.length - i - 1];
	}

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		System.out.print("a의 요소수는  : ");
		int numa = sc.nextInt();		// a배열의 요소 입력받기
		int[] a = new int[numa];		// 요소수가 numa인 배열 
		for (int i = 0; i < numa; i++) {
			System.out.print("a[" + i + "] : ");
			a[i] = sc.nextInt();
		}

		System.out.print("b의 요소수는  : ");
		int numb = sc.nextInt();		// b배열의 요소 입력받기
		int[] b = new int[numb]; 	    // 요소수가 numb인 배열 
		for (int i = 0; i < numb; i++) {
			System.out.print("b[" + i + "] : ");
			b[i] = sc.nextInt();
		}

		rcopy(a, b);   // 배열 b의 모든 요소를 배열 a에 역순으로 copy 

		System.out.println("배열 b의 모든 요소를 배열 a에 역순으로 copy 하였습니다.");
		for (int i = 0; i < numa; i++)
			System.out.println("a[" + i + "] = " + a[i]);
	}
}
profile
I'm still hungry.

0개의 댓글