<오늘의 목표>

앞으로의 활동 계획 작성하기

 

1학기 컴퓨터프로그래밍1 수업에서 배운 Java 중간고사 범위 내용 복습하기

 

관련 심화 문제 풀기

 

 

 

 

 

<활동 내역>

1학기 컴퓨터프로그래밍1 중간고사 이전 수업에서 실습 시간에 배운 배열 문제 다시 풀기

Q. 사용자에게 정수를 입력받고 for-each 반복문을 통해 최대값 최소값을 찾아 출력하여라.

import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("값을 입력하시오: ");
		int a = sc.nextInt();
		
		int [][] arr = new int[a][a];
		
		for(int i=0;i<a;i++) {
			for(int j=0;j<a;j++) {
				arr[i][j] = (i+1)*(j+1);
			}
		}
		for(int i =0;i<a;i++) {
			for(int j = 0; j<a;j++) {
				System.out.printf("%d"+"\t", arr[i][j]);
			}
			System.out.println();
		}
	}

}

 

Q. 사용자로부터 값을 받아 2차원 배열로 곱셈 테이블을 완성하여 출력하여라

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("반복 횟수를 입력하시오: ");
        int n = sc.nextInt();

        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
           System.out.print("값을 입력하세요:");
            arr[i] = sc.nextInt();
        }

        int max = arr[0];
        int min = arr[0];
        int count = 0;

        for (int num : arr) {
            count++;
            if (num > max) {
                max = num;
            }
            if (num < min) {
                min = num;
            }
        }
        System.out.println("최댓값: " + max);
        System.out.println("최솟값: " + min);
   
    }
}

 

반복문 심화 문제 해결하기

Q. 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?”

혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는 바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 바이트 정수까지 저장할 수 있는 정수 자료형이라고 적혀 있었다. 혜아는 이런 생각이 들었다. “int 앞에 long을 하나씩 더 붙일 때마다 바이트씩 저장할 수 있는 공간이 늘어나는 걸까? 분명 long long long int는 바이트, long long long long int는 바이트까지 저장할 수 있는 정수 자료형일 거야!” 그렇게 혜아는 당황하는 면접관의 얼굴을 뒤로한 채 칠판에 정수 자료형을 써 내려가기 시작했다.

혜아가 바이트 정수까지 저장할 수 있다고 생각해서 칠판에 쓴 정수 자료형의 이름은 무엇일까?

import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int N;
		Scanner sc = new Scanner(System.in);
		N = sc.nextInt();
		
		if(N%4==0) {
			for(int i=1;i<=N/4;i++) {
				System.out.print("long ");
			}
		}else {
			for(int i=1;i<=(N/4+1);i++) {
				System.out.print("long ");
			}
		}
		System.out.print("int");
	}

}

 

 

 

 

 

<회고>

오랜만에 풀었더니 연산자 코드가 기억이 나지 않아 4주차에 배운 연사자 코드를 복습하였다.

나눗셈을 할 때는 /를 사용하고 나머지를 구할 때 %를 사용하는 부분이 헷갈렸다.

 

반복문 심화 문제를 푸는 과정에서 백준에 코드를 제출할 때 class명이 Main이 아니라 컴파일 오류가 났다.

처음에는 클래스가 public이라 오류가 난 줄 알고 public을 제외하고 작성했더니 런타임 에러가 났다.

런타임 에러가 난 것은 처음 봐서 당황했는데, 이런 오류가 나기도 한다는 것을 알게 되었다.

 

학기가 끝나고 방학이 되어 코드 작성을 쉬었더니 기본적인 부분이 기억나지 않아서 생각보다 코드 작성이 수월하지 않았다.

복습 활동을 더 철저히 하고 다음 활동을 임해야겠다.

'2025하계모각코_조서희' 카테고리의 다른 글

20250807  (2) 2025.08.07
20250802  (0) 2025.08.02
20250729  (1) 2025.07.29
20250722  (1) 2025.07.22
20250708  (2) 2025.07.08

+ Recent posts