728x90
반응형
2021년 1회 정보처리기사 실기 기출문제
문제
다음 Java 프로그램의 실행 결과를 쓰시오.
public class good {
public static void main(String[] args) {
int[][] arr = new int[][]{{45, 50, 75}, {89}};
System.out.println(arr[0].length);
System.out.println(arr[1].length);
System.out.println(arr[0][0]);
System.out.println(arr[0][1]);
System.out.println(arr[1][0]);
}
}
정답
3
1
45
50
89
반응형
해설
📌 기본 개념
1️⃣ 2차원 배열
2차원 배열은 배열 안에 또 다른 배열을 포함하는 형태의 배열입니다. 2차원 배열은 행(row)과 열(column)의 구조로 데이터를 저장합니다.
// 2차원 배열 선언 기본 형식
데이터타입[][] 배열이름 = new 데이터타입[행의 개수][열의 개수];
// 예시
int[][] arr1 = new int[2][3]; // 2행 3열 배열 생성
// 선언과 동시에 초기값 설정
데이터타입[][] 배열이름 = {{초기값1, 초기값2}, {초기값3, 초기값4}};
// 예시
int[][] arr2 = {{1, 2}, {3, 4}};
위 예시 코드는 다음과 같은 구조를 가집니다 :
arr2[0]: {1, 2}
arr2[1]: {3, 4}
2차원 배열의 각 행의 열 개수는 달라도 되므로, 비정형적인 배열도 가능합니다. 이를 가변 배열이라고 부릅니다.
int[][] arr = new int[][] {{1, 2, 3}, {4}};
위 배열은 첫 번째 행에는 3개의 열, 두 번째 행에는 1개의 열을 포함합니다.
2️⃣ length 속성
- 배열이름.length는 해당 배열의 **1차원 배열의 길이(요소 개수)**를 반환합니다.
- 2차원 배열에서는 배열이름[행번호].length를 사용하여 특정 행의 열 개수를 알 수 있습니다.
// 1차원 배열 예시
int[] arr1D = {5, 10, 15};
System.out.println(arr1D.length); // 출력: 3 (요소 개수)
// 2차원 배열 예시
int[][] arr = {{10, 20, 30}, {40, 50}};
System.out.println(arr.length); // 출력: 2 (행의 개수)
System.out.println(arr[0].length); // 출력: 3 (첫 번째 행의 열 개수)
System.out.println(arr[1].length); // 출력: 2 (두 번째 행의 열 개수)
3️⃣ println 메서드
문제에서는 System.out.println() 메서드를 사용하고 있지만, 유사한 메서드인 System.out.print()도 자주 활용됩니다. 이 두 메서드의 차이를 이해하면 다양한 출력 방식에 유연하게 대응할 수 있습니다.
System.out.println("Hello");
System.out.println("World");
// 출력:
// Hello
// World
- 출력 결과를 표준 출력으로 나타냅니다.
- 출력 후 줄 바꿈(new line)이 추가됩니다
System.out.print("Hello ");
System.out.print("World");
// 출력: Hello World
- 출력 후 줄 바꿈 없이 동일한 줄에 출력합니다.
- 여러 출력을 한 줄에 이어서 표시할 때 유용합니다.
728x90
📌 문제 코드 해설
int[][] arr = new int[][]{{45, 50, 75}, {89}};
- arr[0]: {45, 50, 75} (길이: 3)
- arr[1]: {89} (길이: 1)
라인별 실행 결과:
System.out.println(arr[0].length); // 출력: 3
System.out.println(arr[1].length); // 출력: 1
System.out.println(arr[0][0]); // 출력: 45
System.out.println(arr[0][1]); // 출력: 50
System.out.println(arr[1][0]); // 출력: 89
- arr[0].length
- arr[0]은 {45, 50, 75}이므로, 길이는 3입니다.
- arr[1].length
- arr[1]은 {89}이므로, 길이는 1입니다.
- arr[0][0]
- arr[0]의 첫 번째 요소는 45입니다.
- arr[0][1]
- arr[0]의 두 번째 요소는 50입니다.
- arr[1][0]
- arr[1]의 첫 번째 요소는 89입니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
반응형
'코딩일기 > 자격증' 카테고리의 다른 글
[정보처리기사] [ C ] 구조체와 포인터 활용 | 2021년 1회 정보처리기사 실기 기출 문제 풀이 (0) | 2024.12.23 |
---|---|
[정보처리기사] 요구사항 | 요구사항의 유형 (기능 요구사항과 비기능 요구사항) | 정보처리기사 실기 기출문제 (0) | 2024.12.23 |
[정보처리기사] [ Java ] for문과 조건문을 활용한 누적 합계 출력 프로그램 | 정보처리기사 실기 기출 문제 풀이 (0) | 2024.12.19 |
[정보처리기사] [ Python ] 리스트와 문자열의 인덱스 활용 | 2021년 1회 정보처리기사 실기 기출 문제 풀이 (0) | 2024.12.17 |
[정보처리기사] WHERE절에서 AND와 OR | SQL 문제 | 2021년 1회 정보처리기사 실기 기출 문제 풀이 (0) | 2024.12.17 |