package Tr;
public class Day04_01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 문제1. 1부터 100까지 합한값을 출력하세요.
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
}
System.out.println(sum);
// 문제2. 1부터 100까지 홀수를 모두 카운팅하세요.
int cnt = 0;
for (int i = 0; i <= 100; i++) {
if (i % 2 == 1) {
cnt++;
}
}
System.out.println(cnt);
// 문제3.1부터 100까지 중 홀수만 출력하시오.
for (int i = 0; i <= 100; i++) {
if (i % 2 == 1) {
System.out.println(i);
}
}
// 문제4. 1부터 100까지 중 홀수는 더하고 짝수는 빼는 결과를 출력하시오.
int sum1 = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
sum1 -= i;
} else {
sum1 += i;
}
}
System.out.println(sum1);
// 문제5. 1부터 100까지 숫자 중 3의 배수를 모두 더하시오.
int sum3 = 0;
for (int i = 1; i <= 100; i++) {
if (i % 3 == 0) {
sum3 += i;
}
}
System.out.println("3의 배수의 합:" + sum3);
// 문제6. 1부터 100까지 숫자중 4의 배수의 총합과 갯수를 각각 구하시오.
int sum4 = 0;
int cnt4 = 0;
for (int i = 1; i <= 100; i++) {
if (i % 4 == 0) {
sum4 += i;
cnt4++;
}
}
System.out.println("4의 배수의 합:" + sum4);
System.out.println("4의 배수의 갯수:" + cnt4);
// 문제7. 1부터 100까지 숫자중 3의 배수의 합과 2의 배수의 갯수를 각각 구하시오.
int sum5 = 0;
int cnt5 = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
cnt5++;
}
if (i % 3 == 0) {
sum5 += i;
}
}
System.out.println("3의 배수의 합:" + sum5);
System.out.println("2의 배수의 갯수:" + cnt5);
}
}
package Tr;
public class Day04_02 {
public static void main(String[] args) {
// 반복문과 배열
int[] a = new int[5];
int[] b = { 44, 54, 23, 12, 45, 76 };
// b배열에서 2번째 방의 값은?
// b[1]
// b배열에서 2번째 방의 값을 출력하시오.
System.out.println(b[1]);
// b배열에서 2번째 방의 값에 100을 입력하시오.
// b[1]=100;
// 문제1. a배열 2번째 값에 b배열 3번째 인덱스의 값을 저장.
a[1] = b[2];
// 문제2. b배열 2번째 인덱스에 자신의 값(b배열 2번째 인덱스)에 10을 더한 값을 저장.
b[1] += 10;
// 문제3. b배열 3번째 인덱스의 값을 1증가시켜서 저장.
b[2] = ++b[2];
// 문제4. a배열에서 4번 인덱스의 값에 10을 저장하여 출력.
a[4] = 10;
System.out.println(a[4]);
// 문제5. b배열에서 마지막에 저장된 값을 1증가시켜서 a배열 마지막 값에 저장한다.
// 단 b배열 마지막 값은 변경되지 않아야 한다.
a[4] = b[5] + 1;
// 문제6. 문제 5번에서 b배열의 마지막 값도 조건에 따라 변경된다.
a[4] = ++b[5];
// 문제7. b배열 인덱스 2번과 3번을 합한 값을 콘솔에 출력하시오.( 단 배열에 저장된 값은 변경되면 안됨.)
System.out.println(b[2] + b[3]);
}
}
package Test;
public class Day04_01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 1.배열의 모든 값에 10을 입력하세요.
int[] a = new int[10];
for (int i = 0; i < a.length; i++) {
a[i] = 10;
}
// 2. 배열의 모든 값을 출력하시오.
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
System.out.println("--------------------------");
// 3. 배열의 값에 0 1 2 3 4 5 6 7 8 9 를 입력하고 출력하시오.
// (단 for문 2개로 해결하시고, for문 2개는 다음과 같습니다)
// 입력하는 for, 출력하는 for
for (int i = 0; i < a.length; i++) {
a[i] = i;
}
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
System.out.println("--------------------------");
// 4. 배열의 값에 9 8 7 6 5 4 3 2 1 0 을 입력하고 출력하시오 . for문 2개
for (int i = 0; i < a.length; i++) {
a[i] = (a.length-1) - i;
}
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
// 5. 값이 짝수인 경우 값을 출력하시오.
int[] b = { 23, 45, 23, 56, 75, 56 };
for (int i = 0; i < b.length; i++) {
if (b[i] % 2 == 0) {
System.out.println(b[i]);
}
}
System.out.println("--------------------------");
// 6. 값이 짝수인 경우 짝수 값은 갖는 인덱스를 출력하시오.
for (int i = 0; i < b.length; i++) {
if (b[i] % 2 == 0) {
System.out.println(i);
}
}
System.out.println("--------------------------");
// 7. 최고 값을 갖고 있는 인덱스 번호를 출력하시오.
int max = 0;
int idxNo = 0;
for (int i = 0; i < b.length; i++) {
if (max < b[i]) {
max = b[i];
idxNo = i;
}
}
System.out.println(idxNo);
System.out.println("--------------------------");
// 8. 모든 값을 1씩 증가시키시오.
for (int i = 0; i < b.length; i++) {
b[i]++;
}
// 9. 빈칸을 0이라고 가정한다. 빈칸의 값을 가진 인덱스 번호를 출력하세요.
int[] b2 = { 23, 45, 0, 58, 75, 0 };
for (int i = 0; i < b2.length; i++) {
if (b2[i] == 0) {
System.out.println(i);
}
}
System.out.println("--------------------------");
// 10. 다음조건에 따라 오름차순으로 저장되게 정렬하시오.
// 1. 가장큰 값을 찾아서 맨뒤 값에 저장한다.
// 2. 두번째로 큰 값을 찾아서 맨뒤에서 두번째 자리에 저장한다.
// 정렬이 될때 까지 반복한다.
// 1.이중 for문
int[] b3 = { 93, 45, 23, 58, 75, 56 };
int min1 = 0;
int max1 = 0;
for (int i = 0; i < b3.length; i++) {
for (int k = 0, j = 1; j < b3.length; j++, k++) {
if (b3[k] > b3[j]) {
max1 = b3[k];
min1 = b3[j];
b3[k] = min1;
b3[j] = max1;
}
}
}
for (int i = 0; i < b3.length; i++) {
System.out.println(b3[i]);
}
System.out.println("--------------------------");
// 2. for문 6번
int k = 0;
for (int j = 1; j < b3.length; j++) {
if (b3[k] > b3[j]) {
max1 = b3[k];
min1 = b3[j];
b3[k] = min1;
b3[j] = max1;
}
k++;
}
int k1 = 0;
for (int j = 1; j < b3.length; j++) {
if (b3[k1] > b3[j]) {
max1 = b3[k1];
min1 = b3[j];
b3[k1] = min1;
b3[j] = max1;
}
k1++;
}
int k2 = 0;
for (int j = 1; j < b3.length; j++) {
if (b3[k2] > b3[j]) {
max1 = b3[k2];
min1 = b3[j];
b3[k2] = min1;
b3[j] = max1;
}
k2++;
}
int k3 = 0;
for (int j = 1; j < b3.length; j++) {
if (b3[k3] > b3[j]) {
max1 = b3[k3];
min1 = b3[j];
b3[k3] = min1;
b3[j] = max1;
}
k3++;
}
int k4 = 0;
for (int j = 1; j < b3.length; j++) {
if (b3[k4] > b3[j]) {
max1 = b3[k4];
min1 = b3[j];
b3[k4] = min1;
b3[j] = max1;
}
k4++;
}
int k5 = 0;
for (int j = 1; j < b3.length; j++) {
if (b3[k5] > b3[j]) {
max1 = b3[k5];
min1 = b3[j];
b3[k5] = min1;
b3[j] = max1;
}
k5++;
}
for (int i = 0; i < b3.length; i++) {
System.out.println(b3[i]);
}
// 11. carnum배열의 인덱스가 0부터 주차장에 들어온다.
// parking의 인덱스 번호가 주차번호이다.
// 자동차 번호의 마지막 번호는 해당 차량이 주차할 주차번호이다.
// 만약 주차번호에 다른 차량이 주차되어 있으면 다음 주차번호에 주차를 한다.9번 다음은 0번
// (이때, 다음 주차번호에도 차량이 있으면 주차불가이다. 예제는 이와 같은 상황이
// 안 나오므로 고려하지 않아도됨)
// 주차가 끝난 후 주차번호와 주차항 차량 번호를 출력하시오.
int[] carnum = { 1232, 1221, 1235, 1252, 1234, 4536, 3457, 3238, 3229, 2599 };
int[] parking = new int[10];
for (int i = 0; i < carnum.length; i++) {
if (parking[carnum[i] % 10] == 0) {
parking[carnum[i] % 10] = carnum[i];
} else if (parking[carnum[i] % 10] != 0) {
parking[(carnum[i] % 10 + 1) % 10] = carnum[i];
}
}
for (int i = 0; i < parking.length; i++) {
System.out.println(i + ":" + parking[i]);
}
}
}