본문 바로가기
Certificate/정보처리기사

[정보처리기사] 2023년 2회차 실기

by HJ0216 2023. 10. 5.

정보처리기사 실기

1. C

#include <stdio.h>

void main(){
    int n[5]={5, 4, 3, 2, 1};
    int i;
    for(i=0; i<5; i++){
        printf("%d", n[(i+1)%5]);
    }
}

// 4 3 2 1 5

2. C

#include <stdio.h>

void main(){
    int n[3]={73, 95, 82};
    int i, sum=0;
    for(i=0; i<3; i++){
        sum += n[i];
    }
    switch(sum/30){
        case 10:
        case 9: printf("A");
        case 8: printf("B");
        case 7: 
        case 6: printf("C");
        default: printf("D");
    }
}

// BCD

3. C

#include <stdio.h>
#define MAX_SIZE 10

int isWhat[MAX_SIZE];
int pointer=-1;

int isEmpty(){
    if(point==-1) return 1;
    return 0;
}

int isFull(){
    if(point==10) return 1;
    return 0;
}

void into(int num){
    if(point>=10) printf("Full");
    isWhat[++point]=num;
}

int take(){
    if(isEmpty()==1) printf("Empty");
    return isWhat[point--];
}

void main(){
    into(5);
    into(2);
    while(!isEmpty()){
        printf("%d", take());
        into(4);
        into(1);
        printf("%d", take());
        into(3);
        printf("%d", take());
        printf("%d", take());
        into(6);
        printf("%d", take());
        printf("%d", take());
    }
}

// 213465

5. C

%s: null을 만나기 전까지 출력

gets(): 이전 호출에서 입력된 문자열이 현재 호출에서 입력된 문자열로 덮어써짐

#include <stdio.h>

// 전역변수
char n[30];
char *soojebi(){ // return type: char *
    gets(n);
    // gets(): 지운 다음 다시 입력
    return n;
}
void main(){
    char *p1 = soojebi();
    // pointer 변수는 주소값 입력 받음
    char *p2 = soojebi();
    // 전역변수를 사용하므로 새로 입력된 값으로 덮어쓰기 됨
    char *p3 = soojebi();
    printf("%s\n", p1);
    // %s: null을 만나기 전까지 출력
    printf("%s\n", p2);
    printf("%s\n", p3);
}

/*
박영희
박영희
박영희

*/

7. C

#include <stdio.h>
void main(){
    int m = 4620;
    int a, b, c, d;
    a = m/1000;
    b = (m%1000)/500;
    c = (m%500)/100;
    d = (m%100)/10;
    printf("1000원: %d개\n", a);
    printf("500원: %d개\n", b);
    printf("100원: %d개\n", c);
    printf("10원: %d개\n", d);

}

9. C

#include <stdio.h>
void main(){
    int arr[] = {65, 25, 12, 22, 11};
    int n = sizeof(arr)/sizeof(arr[0]);
    int i=0, j, tmp;
    do{
        j=i+1;
        do{
        if(arr[i]>arr[j]){
            tmp = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
            }
            j++;
        } while(j<n);
        i++;
    } while(i<n-1);
    for(i=0; i<=4; i++)
        printf("%d", arr[i]);
}

14. C

#include <stdio.h>
void main(){
    int c=0;
    int i;

    for(i=1; i<=2023; i++){
        if(i%4==0) c++;
    }

    printf("%d", c);
}

// 505

18. Python

a="engineer information programming";
b=a[:3]; # eng
c=a[4:6]; # ne
d=a[29:]; # ing
e=b+c+d;
print(e);

# engneing

19. Java

String 동일한 문자열은 같은 주소값을 참조

문자열 리터럴을 사용하면 Java는 문자열 상수 풀(string pool)이라는 곳에 문자열을 저장하고, 동일한 문자열 리터럴을 가리키는 다른 문자열 변수들은 같은 메모리 위치를 참조

그러나 new String("soojebi")와 같이 new 키워드를 사용하여 명시적으로 새로운 String 객체를 생성하면, 새로운 메모리 공간에 문자열을 저장

class Soojebi{
    public static void main(String[] args){
        String str1="soojebi";
        String str2="soojebi";
        String str3= new String("soojebi");

        System.out.println(str1==str2); // true
        System.out.println(str1==str3); // false
        System.out.println(str1.equals(str3)); // true
        System.out.println(str2.equals(str3)); // true

    }
}

 

 

 

📚 참고 자료

 

수제비

수제비(수험생 입장에서 제대로 쓴 비법서) IT 채널입니다! 정보처리기사 / 정보처리산업기사 / 빅데이터 분석기사 / 전자계산기 조직응용기사 / SQLD / ADsP 등 다양한 분야의 자격증에 대해 학습에

www.youtube.com