-
자바 알고리즘(4)자바페스티벌 2022. 5. 6. 10:01
ex22 별 출력
사용자에게 입력받아 배열의 인덱스의 수 만큼 별을 출력해보겠습니다.
int[] arr = new int[5]; Scanner sc = new Scanner(System.in); for (int i = 0; i < arr.length; i++) { System.out.print(i + "번째 별의 수 : "); arr[i] = sc.nextInt(); } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] +" : "); for (int j = 1; j <= arr[i]; j++) { System.out.print("*"); }System.out.println(); }
ex23 곱셈
단 수와 곱해지길 원하는 수를 입력하여 이와 같이 출력되게 해보겠습니다.
System.out.print("단수입력 : "); Scanner sc = new Scanner(System.in); int num1 = sc.nextInt(); System.out.print("어느 수까지 출력 : "); int num2 = sc.nextInt(); System.out.println(num1 + "단"); for(int i = 1; i<=num2; i++) { System.out.println(num1 +"*" + i +"=" + num1*i); }
ex24 2진수 변환
10진수 정수를 입력받아 2진수로 변환해서 출력해보겠습니다.
System.out.println("숫자입력 >> "); Scanner sc = new Scanner(System.in); int input = sc.nextInt(); // 2진수의 수를 저장할 배열 생성 int[] arr = new int[10]; int i = 0; // 배열의 위치를 지정하기 위한 값 while(input>=2) { // 배열의 위치가 0인 곳부터 차례로 2로 나누어진 나머지 값을 저장 arr[i] = input%2; i++; // 입력값의 몫을 구할 수 있는 연산 input /= 2; } arr[i] = input; // 배열의 순서를 거꾸로 하여 출력하기 for (int j =i; j >= 0; j--) { System.out.print(arr[j] +" "); }
ex25 거리가 가장 작은 숫자의 위치
아래와 같이 숫자가 담긴 1차원 배열이 주어졌을 때, 두 개의 숫자를 뽑아 서로의 거리를 비교한 후 거리가 가장 작은 숫자의 위치(index)를 출력해보겠습니다.
int[] point = {92,32,52,9,81,2,68}; // 기준값 만들기 int min = Math.abs(point[0] - point[1]); // 배열의 위치를 기억할 수 있는 변수 int a = 0; int b = 0; // 반복적인 작업으로 배열의 거리값 비교하기 for (int j = 0; j < point.length; j++) { for (int i = 0; i < point.length; i++) { if (j != i) { if (Math.abs(point[j] - point[i]) < min) { min = Math.abs(point[j] - point[i]); a = j; b = i; } } } } System.out.println("result = [" + a +", " + b + "]");
ex26 별 출력
다음과 같은 결과를 출력해보겠습니다.
for(int i = 1; i <= 5; i++) { for(int j =4; j >= i; j--) { System.out.print(" "); } for(int j =1; j <=i; j++) { System.out.print("*"); }System.out.println(); }
ex27 오름차순 정렬
5개의 정수를 입력 받아 오름차순 정렬하여 출력하는 프로그램을 구현해보겠습니다.
Scanner sc = new Scanner(System.in); int[] arr = new int[5]; for(int i=0; i < arr.length; i ++) { System.out.print(i+1+"번째 수 입력 : "); arr[i] = sc.nextInt(); } for(int k =1; k < arr.length; k++) { for(int j =0; j< arr.length - k; j++) { if(arr[j] > arr[j+1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } System.out.println("정렬 후"); for(int = 0; i< arr.length; i++) { System.out.print(arr[i] + " "); }
ex28 배열 90도 회전
아래와 같은 2차원 배열을 왼쪽으로 90도 회전하여 출력해보겠습니다.
int[][] arr = new int[5][5]; System.out.println("90도 회전"); int cnt = 1; for (int j = 0; j < 5; j++) { for (int i = 4; i >= 0; i--) { arr[i][j] = cnt; cnt++; } } for (int j = 0; j < 5; j++) { for (int i = 0; i < 5; i++) { System.out.print(arr[j][i]+"\t"); }System.out.println(); }
'자바페스티벌' 카테고리의 다른 글
자바 알고리즘(5) (0) 2022.05.06 자바 알고리즘(3) (0) 2022.05.05 자바 알고리즘(2) (0) 2022.05.04 자바 알고리즘 (1) (0) 2022.05.04