과거⚰️

배열문응용2, 3, 4

아무루 2020. 10. 15. 12:27
package day016;

import java.util.Scanner;

public class Day01602배열문응용2 {
	public static void main(String[] args) {
		/*1. 인덱스 ( 방번호 )를 입력하면 값 출력
		 *  3입력 => 40
		 */
		Scanner sc = new Scanner(System.in)
				;
		int[] a = {10 , 20, 30, 40, 50};
		System.out.println("index");
		int in = sc.nextInt();
		System.out.print(a[in]+" ");
		//2 . 아래 배열 중 홀수의 개수 출력
		//    3
		int cnt = 0;
		int[] b = {12, 54 ,23 , 87, 1};
		for(int i = 0; i<5; i++) {
			if(b[i]%2!=0) {
				cnt++;
			}
		}
		System.out.println();
		System.out.print(cnt+" ");
		//3. 아래 배열 주 가장 큰 값 출력
		// 87
		int[] c = {12, 54, 23, 87, 1};
		int max = 0;
		for(int i=0; i<5; i++) {
			if(c[i]>max) {
				max = c[i];
			}
		}
		System.out.println();
		System.out.println(max);
		//4. 배열 d의 값을 e배열에 거꾸로 저장
		// e={5, 4, 3, 2, 1}
		
		int[] d = {1, 2, 3, 4, 5};
		int[] e = new int[5];
		int z = 4;
		for(int i=0; i<5; i++) {
			if(d[i]>e[z]) {
				e[z]=d[i];
				z--;
			}
		}
		for(int i=0; i<5; i++) {
			System.out.print(e[i]+" ");
		}
	}

}



package day016;

public class Day01603응용문제 {

	public static void main(String[] args) {
		//1. 아래 배열 a와 b를 비교해서 둘의 합이 짝수일때에만 c배열에 저장
		// c = {74, 82, 0, 0, 0}
		int[] a = {10, 20, 30, 40, 50};
		int[] b = {13, 54, 17, 42, 1};
		int[] c = { 0, 0, 0, 0, 0,};
		int x=0;
		int tot=0;
		for(int i=0; i<5; i++) {
			tot=a[i]+b[i];
			if(tot%2==0) {
				c[i]=tot;
			}
		}
		for(int i=0; i<5; i++) {
			System.out.print(c[i]+" ");
		}
		System.out.println();
		
		//2. 아래는 학생들의 시험결과이다.
		//   시험에 합격한 사람의 번호만 win배열에 저장(60점 이상이면 합격)
		//  win = {1002, 1003, 0}
		x=0;
		int[] num = {1001, 1002, 1003};
		int[] score = { 50, 83, 78};
		int[] win = { 0, 0, 0,};
		for(int i=0; i<3; i++) {
			if(score[i]>=60) {
				win[x]=num[i];
				x++;
			}
		}
		for(int i=0; i<3; i++) {
			System.out.print(win[i]+" ");
		}
		System.out.println();

		//3. 시험에 합격한 사람의 번호만 win2 배열에 저장(60점 이상면 합격)
		//win2 = {1001, 1003, 0}
		x=0;
		int[] info = {1001, 80, 1002, 23, 1003, 78};
		int[] win2 = {0, 0, 0};
		for(int i=0; i<3; i++) {
			if(i%2!=0) {
			if(info[i]>=60) {
				win2[x]=num[i];
				x++;
			}
			}
		}
		for(int i=0; i<3; i++) {
			System.out.print(win2[i]+" ");
		}
		System.out.println();

	}
}




package day016;

import java.util.Scanner;

public class Day01604배열응용4 {
	public static void main(String[] args) {
		
	
	// 문제 1) 아래 배열 a에서 내가 입력한 값만 빼고 b에 저장
			// 예    1) 30입력 => b = {10, 20, 40, 50, 0}
	        Scanner sc = new Scanner(System.in);
			int[] a = {10, 20, 30, 40, 50};
			int[] b = { 0,  0,  0,  0,  0};
			
			int num = sc.nextInt();
			int x=0;
			int z=0;
			for(int i=0; i<5; i++) {
				if(num==a[i]) {
					x=i;
				}
			}
			System.out.println("index = " + x);
			for(int i=0; i<5; i++) {
				if(i!=x) {
					b[z]=a[i];
					z++;
				}
			}
			for(int i=0; i<5; i++) {
				System.out.print(b[i]+" ");
			}
	}			
}