1. 랜덤으로 배열 요소값을 생성해 요소값을 역순으로 바꾸기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | package myTest1; import java.util.Random; import java.util.Scanner; public class RandomReverseArrayValue { // 배열의 요소값을 역순으로 바꾸기 static void swap(int[] a, int idx1, int idx2){ int t = a[idx1]; a[idx1] = a[idx2]; a[idx2] = t; } public static void main(String[] args) { Random rand = new Random(); Scanner scanner = new Scanner(System.in); System.out.println("배열의 길이: "); int num = scanner.nextInt(); int[] x = new int[num]; System.out.println("\n배열길이에 따른 랜덤으로 생성된 배열요소"); for(int i=0; i<num; i++){ x[i] = 100 + rand.nextInt(100); System.out.println("x[" + i + "] : " + x[i]); } for(int i=0; i< x.length/2; i++){ int length = x.length-i-1; swap(x, i, length); } System.out.println("\n요소를 역순으로 정렬결과"); for(int i=0; i<num; i++){ System.out.println("x[" + i + "] = " + x[i]); } } } | cs |
결과 값
2. 배열 a,b 복사하기, 같은지 확인하기, 역순으로 복사하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | package myTest1; import java.util.Scanner; public class CompareEqualArray { // 두 배열의 요소값이 모두 같은지 확인하기 static boolean equals(int[] a, int[] b){ if(a.length != b.length){ return false; } for(int i=0; i< a.length; i++){ if(a[i] != b[i]){ return false; } } return true; } // 배열 b의 모든 요소를 배열 a에 복사하기 static int[] copy(int[] a, int[] b){ if(a.length != b.length){ System.out.println("배열 a,b의 길이는 같아야합니다."); }else{ // b.length 3 0 1 2 for(int i=0; i< b.length; i++){ a[i] = b[i]; } } return a; } // 배열 b의 모든 요소를 배열 a에 역순으로 복사하는 메서드 reverse copy 만들기 static void reverseCopy(int[] a, int[] b){ if(a.length != b.length){ System.out.println("배열 a,b의 길이는 같아야합니다."); }else{ // b요소를 a요소로 복사하기 copy(a, b); // a요소를 reverse하기 for(int i=0; i< a.length/2; i++){ int length = a.length-i-1; swap(a, i, length); } } } // 배열의 요소값을 역순으로 바꾸기 static void swap(int[] a, int idx1, int idx2){ int t = a[idx1]; a[idx1] = a[idx2]; a[idx2] = t; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("배열 a의 길이:"); int na = scanner.nextInt(); int[] a = new int[na]; for(int i=0; i<na; i++){ System.out.print("a[" + i + "] : "); a[i] = scanner.nextInt(); } System.out.println("배열 b의 길이:"); int nb = scanner.nextInt(); int[] b = new int[nb]; for(int i=0; i<nb; i++){ System.out.print("b[" + i + "] : "); b[i] = scanner.nextInt(); } System.out.println("배열 a,b가 같은가? "+equals(a,b)); copy(a,b); System.out.println("배열 b요소를 a로 복사하기"); for (int i=0; i<a.length; i++) { System.out.println("a[" + i + "] : " + a[i]); } reverseCopy(a,b); System.out.println("배열 b요소를 배열 a로 역순으로 복사하기"); for (int i=0; i<a.length; i++) { System.out.println("a[" + i + "] : " + a[i]); } } } | cs |
결과 값
소스코드 첨부 :
'전체 > 알고리즘' 카테고리의 다른 글
배열사용, 제곱근 이하 소수 판단, 소수 찾기 알고리즘 (0) | 2018.09.30 |
---|---|
기수 변환, 정수를 입력받아 2진수 ~36진수 변환 (0) | 2018.09.30 |
탐욕 알고리즘 (0) | 2018.09.01 |
다익스트라 알고리즘 (0) | 2018.08.25 |
해시함수란? 너비우선탐색 사용하기 (0) | 2018.08.25 |