휴먼교육센터 개발자과정 31일차

조하영·2022년 9월 16일
0

package Tr;

import java.util.Scanner;

public class Day14_01 {

public static void main(String[] args) {
	// 선생님 방법 달팽이 배열
	int[][] a = new int[4][5];
	int cnt = 1;
	int rowMin = 0; // 첫번째 행
	int rowMax = 3; // 마지막 행
	int colMin = 0; // 첫번째 열
	int colMax = 4; // 마지막 열
	for (int j = 0; j < 2; j++) {
		for (int i = colMin; i <= colMax; i++) {// i=0,1,2,3,4
			a[rowMin][i] = cnt++; // rowMin=0
		}
		rowMin++;// 1
		for (int i = rowMin; i <= rowMax; i++) {// i=1,2,3
			a[i][colMax] = cnt++; // 4
		}
		colMax--;// 3
		for (int i = colMax; i >= colMin; i--) {// 3,2,1,0
			a[rowMax][i] = cnt++;// 3
		}
		rowMax--;// 2
		for (int i = rowMax; i >= rowMin; i--) {
			a[i][colMin] = cnt++;
		}
		colMin++;
	}

	for (int i = 0; i < a.length; i++) {
		for (int j = 0; j < 5; j++) {
			System.out.print(a[i][j] + "\t");
		}
		System.out.println();
	}
	System.out.println("--------------------------------------");

// 가. 키보드로 숫자를 5개를 입력 받아 이를 배열에 저장하고 출력하는 프로그램을 작성하시오
// 단, 입력부와 출력부를 나눠서 작성한다.

	Scanner in = new Scanner(System.in);

	int[] b = new int[5];
	for (int i = 0; i < b.length; i++) {
		System.out.println(i + 1 + "번째 숫자를 입력하세요: ");
		b[i] = in.nextInt();
		in.nextLine();
	}
	in.close();
	for (int i = 0; i < b.length; i++) {
		System.out.print(b[i] + "\t");
	}
	System.out.println();
	System.out.println("--------------------------------------");

// 나. 아래 배열에서 짝수는 바이러스이다 바이러스를 모두 0으로 바꾸시오.

	int[][] c = { { 32, 23, 12, 23, 23 }, { 31, 32, 1, 23, 24 }, { 35, 22, 12, 21, 21 }, { 32, 22, 11, 22, 22 },
			{ 22, 22, 145, 22, 23 } };

	for (int i = 0; i < c.length; i++) {
		for (int j = 0; j < 5; j++) {
			if (c[i][j] % 2 == 0) {
				c[i][j] = 0;
			}
		}
	}
	for (int i = 0; i < c.length; i++) {
		for (int j = 0; j < 5; j++) {
			System.out.print(c[i][j]+"\t");
		}
		System.out.println();
	}
	System.out.println("--------------------------------------");
	

//다. 아래 배열에서 20보다 큰수 모두 몇개인가?

	int[][] d = { { 32, 23, 12, 23, 23 }, { 31, 32, 1, 23, 24 }, { 35, 22, 12, 21, 21 }, { 32, 22, 11, 22, 22 },
			{ 22, 22, 145, 22, 23 } };
	int cnt2=0;
	for (int i = 0; i < d.length; i++) {
		for (int j = 0; j < 5; j++) {
			if (d[i][j] > 20) {
				cnt2++;
			}
		}
	}
	System.out.println("20보다 큰 수는 "+cnt2+"개 ");
	

// 라.
// 1부터 9999까지 숫자를 모두 더하시오.
// 더하는 방법은 99인 경우 9+9를 더하고, 875일 경우는 8+7+5를 더한다
// 이와 같은 방식으로 1부터 9999까지 모든 자릿수를 더한 결과를 출력하시오.
//
// int sum=0; 를 선언하고 for문 2개만 해결한다.

	int sum =0;
	for(int i=1; i<=9999;i++ ) {
		for(int j=10;j<=10000;) {
			sum += (i%j)/(j/10);
			j=j*10;
		}
	}
	System.out.println(sum);
	
}

}

profile
공부하는 개발자

0개의 댓글