본문 바로가기

ETC/복습

[복습_JAVA] 15

실습(배열(1))

1. A~F까지 배열에 담고 출력하기

import java.util.Scanner;

public class ArTask1 {
	public static void main(String[] args) {

		char[] arData = new char[6];  // A ~ F는 6개이다.

		for (int i = 0; i < arData.length; i++) {
			arData[i] = (char)(i + 65);  // 0 + 65, 1 + 65, ...
			System.out.println(arData[i]);
		}			
		
	}
}

 

결과
 

 

 

2. A~F까지 중 C를 제외하고 배열에 담은 후 출력하기

import java.util.Scanner;

public class ArTask1 {
	public static void main(String[] args) {

		char[] arData = new char[5];  // A ~ F 중 C를 제외한 후 출력하므로 크기를 5로 선언한다.
		int index = 0;

		for (int i = 0; i < arData.length; i++) {
        
			// for문에서는 i가 반복 횟수를 결정짓는다.
			// 만약 i를 직접 증가시키면 반복횟수가 줄어든다.
			// 따라서 i값을 index 변수에 담아놓고, index를 증가시킨다.
			index = i;

			if(i > 1) {
				index++;
			}

			arData[i] = (char)(index + 65);  // 0 + 65, 1 + 65, ...
			System.out.println(arData[i]);
		}
		
	}
}

 

결과

 

 

 

 

실습(배열(2))

1. 5개의 정수를 입력받고 배열에 담은 후 최대값과 최소값 출력하기

import java.util.Scanner; 

public class ArTask1 {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int[] arData = new int[5];
		int max = 0;  // 최대값을 담아줄 변수
		int min = 0;  // 최소값을 담아줄 변수
				
		for (int i = 0; i < arData.length; i++) {
			System.out.print(i + 1 + "번째 정수 : ");
			arData[i] = sc.nextInt();  // 입력받은 정수를 arData 배열에 담아준다.
		}
		
		max = arData[0];  // 최대값을 arData[0]의 값으로 초기화한다.
		min = arData[0];  // 최소값을 arData[0]의 값으로 초기화한다.
		
		for (int i = 1; i < arData.length; i++) {  // arData[0]의 값으로 초기화했기 때문에 i를 1로 초기화한다.
			if(max < arData[i]) {
				max = arData[i];
			}
			if(min > arData[i]) {
				min = arData[i];
			}
		}
		
		System.out.println("최대값 : " + max);
		System.out.println("최소값 : " + min);
		
	}
}

 

결과

 

 

 

 

2. 사용자가 입력할 정수의 개수만큼 배열을 만든 후 정수를 입력받고 평균 구하기

import java.util.Scanner; 

public class ArTask1 {
	public static void main(String[] args) {
	
		Scanner sc = new Scanner(System.in);
		int[] arData = null;
		int total = 0;
		double avg = 0.0;
		
		System.out.print("입력할 정수의 개수 : ");
		arData = new int[sc.nextInt()];  // 입력한 수를 배열의 크기로 선언한다.
		
		for (int i = 0; i < arData.length; i++) {
			System.out.print(i + 1 + "번째 정수 : ");
			arData[i] = sc.nextInt();
			total += arData[i];
		}
		avg = total / (double)arData.length;  // 총합에서 전체 개수를 나누어 평균을 구한다.
		
		// String.format("서식문자", "값, ...") : 서식문자에 들어간 값을 문자열로 바꿔준다.
		// 예) String.format("%d", 10) == "10"
		// 문자열로 결과가 나오기 때문에 다시 실수로 변경하기 위해서는
		// Double 클래스에 있는 parseDouble("문자열")을 사용한다.
		// 기존에 있던 avg 값을 서식문자로 변경된 avg 값으로 수정한다.
		avg = Double.parseDouble(String.format("%.2f", avg));
		
		for (int i = 0; i < arData.length; i++) {
			System.out.print(arData[i]);  // 사용자가 입력한 정수를 출력한다.
			if(i != arData.length - 1) {  // 마지막 반복이 아니라면
				System.out.print(", ");  // 출력한 정수 뒤에 ", "를 출력한다.
			}
		}
		System.out.println("\n총합 : " + total);
		System.out.println("평균 : " + avg);

	}
}

 

결과

 

 

 

 

실습(CodeUp)

 

[기초-1차원배열] 이상한 출석 번호 부르기1(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용

codeup.kr

문제 설명

출석 번호를 n번 무작위로 불렀을 때, 각 번호(1 ~ 23)가 불린 횟수를 각각 출력해보자.

입력

첫 번째 줄에 출석 번호를 부른 횟수인 정수 n이 입력된다. (1 ~ 10000)
두 번째 줄에는 무작위로 부른 n개의 번호(1 ~ 23)가 공백을 두고 순서대로 입력된다.

출력

1번부터 번호가 불린 횟수를 순서대로 공백으로 구분하여 한 줄로 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		
		int[] a = new int[23];
		int b, c, cnt = 0;
		b = sc.nextInt();

		for (int i = 0; i < b; i++) {
			c = sc.nextInt();
			a[c - 1]++;
		}

		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i] + " ");
		}

	}
}


문제 설명

출석 번호를 n번 무작위로 불렀을 때, 부른 번호를 거꾸로 출력해 보자.

입력

번호를 부른 횟수(n, 1 ~ 10000)가 첫 줄에 입력된다.
n개의 랜덤 번호(k, 1 ~ 23)가 두 번째 줄에 공백을 사이에 두고 순서대로 입력된다.

출력

출석을 부른 번호 순서를 바꾸어 공백을 두고 출력한다.

내 풀이

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int cnt = sc.nextInt();
		int[] a = new int[cnt];
		int i, j, n = 0;

		for (i = 0; i < cnt; i++) {
			n = sc.nextInt();
			a[i] = n;
		}
		
		for (j = a.length - 1; j >= 0; j--) {
			System.out.printf("%d ", a[j]);
		}

	}
}

 

'ETC > 복습' 카테고리의 다른 글

[복습_JAVA] 17  (0) 2022.08.27
[복습_JAVA] 16  (0) 2022.08.25
[복습_JAVA] 14  (0) 2022.08.21
[복습_JAVA] 13  (0) 2022.08.20
[복습_JAVA] 12  (0) 2022.08.17