실습(배열(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 |