코린이 오타니

정보처리기사 실기 프로그래밍언어 파트 (기출요약정리) 본문

자격증 정보/정보처리기사 실기

정보처리기사 실기 프로그래밍언어 파트 (기출요약정리)

코린이오타니 2025. 3. 25. 14:43
728x90

정보처리기사 실기 시험에서는 C, Java, Python 등 프로그래밍 언어 기초가 출제됩니다.
기출문제를 기반으로 자주 나오는 개념 & 코드 예제를 정리했으니 대비에 활용해 보세요! ✍️

 

✅ 1. 공통 핵심 개념 (C, Java, Python 공통 출제)

🔹 변수 & 자료형

  • C: int, float, char, double
  • Java: int, double, char, String
  • Python: 동적 타입(int, float, str 자동 지정)
// C언어 - 변수 선언
int num = 10;
float pi = 3.14;
char grade = 'A';
// Java - 변수 선언
int num = 10;
double pi = 3.14;
String name = "홍길동";
# Python - 변수 선언 (자료형 자동 지정)
num = 10
pi = 3.14
name = "홍길동"

 


🔹 조건문 & 반복문

✅ if-else, switch-case, for, while 등 기본 제어문 기출 자주 출제

// C - 조건문 & 반복문
for (int i = 0; i < 5; i++) {
    printf("%d ", i);
}
// Java - 조건문 & 반복문
for (int i = 0; i < 5; i++) {
    System.out.print(i + " ");
}
# Python - 조건문 & 반복문
for i in range(5):
    print(i, end=" ")

🔹 배열 & 리스트

  • C : 배열 사용 (int arr[5] = {1, 2, 3, 4, 5};)
  • Java : Array 및 ArrayList 활용
  • Python : list 사용
// C - 배열 선언
int arr[3] = {10, 20, 30};
printf("%d", arr[1]); // 출력: 20
// Java - 배열 선언
int[] arr = {10, 20, 30};
System.out.println(arr[1]); // 출력: 20
# Python - 리스트 선언
arr = [10, 20, 30]
print(arr[1])  # 출력: 20

✅ 2. 언어별 기출 유형 정리

🔹 C 언어 (메모리 관리, 포인터 문제 多 출제)

포인터 개념 중요!
✅ malloc() / free() 같은 동적 메모리 할당 문제 출제

// 포인터 사용 예제
int num = 10;
int *ptr = &num;
printf("%d", *ptr); // 출력: 10

🔹 Java (객체지향 개념 필수 출제)

✅ 클래스 & 객체, 상속, 다형성 기출 多

// Java - 클래스 & 객체
class Animal {
    void makeSound() {
        System.out.println("동물이 소리를 냅니다.");
    }
}

class Dog extends Animal {
    void makeSound() {
        System.out.println("멍멍!");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal myDog = new Dog();
        myDog.makeSound(); // 출력: 멍멍!
    }
}

🔹 Python (리스트, 딕셔너리 활용 문제 多 출제)

람다(lambda), 리스트 컴프리헨션(list comprehension) 문제 출제

# Python - 리스트 컴프리헨션
numbers = [x for x in range(5)]
print(numbers)  # 출력: [0, 1, 2, 3, 4]

# 람다 표현식
add = lambda x, y: x + y
print(add(3, 5))  # 출력: 8

✅ 3. 기출문제 유형 정리

🔹 1️⃣ 알고리즘 문제

  • 정렬 알고리즘 (버블 정렬, 퀵 정렬, 병합 정렬)
  • 탐색 알고리즘 (이진 탐색, DFS/BFS)
// C - 버블 정렬 예제
void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}
# Python - 퀵 정렬 예제
def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[0]
    left = [x for x in arr[1:] if x <= pivot]
    right = [x for x in arr[1:] if x > pivot]
    return quick_sort(left) + [pivot] + quick_sort(right]

print(quick_sort([3, 1, 4, 1, 5, 9]))

 


🔹 2️⃣ 파일 입출력 문제

파일 열기, 읽기, 쓰기 관련 기출 문제 출제

// C - 파일 입출력
FILE *fp = fopen("test.txt", "w");
fprintf(fp, "Hello, World!");
fclose(fp);
// Java - 파일 입출력
import java.io.*;
public class FileTest {
    public static void main(String[] args) throws IOException {
        BufferedWriter writer = new BufferedWriter(new FileWriter("test.txt"));
        writer.write("Hello, World!");
        writer.close();
    }
}

✅ 4. 실기 시험 대비 TIP!

기출문제 분석 → 자주 출제되는 패턴 익히기
핵심 문법 & 알고리즘 직접 코딩 연습
C, Java, Python의 차이점 비교하며 학습
파일 입출력, 리스트/배열, 정렬, 탐색 알고리즘 집중 대비

728x90