20253

20문제 · 2025-3

  1. #1·빈칸 채우기·난이도 보통·쪼잔함 3 (욕 나옴)소프트웨어공학아키텍처

    다음은 ( ) 다이어그램에 관한 설명이다. 아래 내용을 읽고 괄호 안에 들어갈 알맞은 명칭을 작성하시오.

    • 다이어그램은 시스템을 물리 형태의 패키지(package) 단위로 구분하여, 구성 요소 간의 관계를 표현하는 UML 구조 다이어그램이다.
    • 하나의 패키지가 포함될 수 있으며, 패키지 간에는 'import', 'access', 'merge' 등의 관계를 통해 의존성(Dependency)을 나타낸다.
    • 이 다이어그램은 실제 코드의 디렉터리 구조와 유사하게 표현되므로, 소프트웨어의 모듈화, 재사용성 향상, 시스템 관련 분석 등을 시각적으로 설계할 때 유용하게 사용된다.
  2. #2·단답형·난이도 어려움·쪼잔함 4 (화병)소프트웨어공학테스트

    다음은 소프트웨어 테스트 기법 중 하나에 대한 설명이다. 설명을 읽고 해당되는 테스트 커버리지를 쓰시오.

    • 소프트웨어 테스트의 화이트박스 구조 기반 기법 중 하나로, 결정(Decision Point) 안에 존재하는 모든 개별 조건식(Atomic Condition)을 대상으로 하는 커버리지 기준이다.
    • 하나의 결정문(if A && B 또는 if (x > 10 || y == 0)) 안에 여러 개의 조건이 포함될 수 있으며, 이 커버리지는 각 조건의 True / False 두 방향 모두 한 번 이상 되도록 테스트 케이스를 설계해야 한다.
  3. #3··난이도 쉬움·쪼잔함 1 (그럭저럭)운영체제

    다음은 Unix 또는 Linux 환경에서 자주 사용하는 기본 명령어에 대한 설명이다. 각 설명과 일치하는 명령어를 [보기]에서 골라 괄호 안에 쓰시오.

    1. 현재 작업 중인 디렉터리의 경로를 출력한다. ( )
    2. 디렉터리의 내용(파일 및 하위 디렉터리)을 목록으로 표기한다. ( )
    3. 다른 디렉터리로 이동한다. ( )
    4. 파일을 복사한다. ( )

    보기

    명령어기본 기능 설명
    pwd현재 작업 중인 디렉터리의 전체 경로를 출력한다.
    ls현재 디렉터리 안의 파일 및 하위 디렉터리를 목록으로 보여준다.
    cd지정한 디렉터리로 이동한다(cd .. = 상위 폴더 이동).
    cp파일 또는 디렉터리를 복사한다.
    mv파일 또는 디렉터리의 이름을 변경하거나 다른 위치로 이동한다.
    rm파일을 삭제한다.
    mkdir새 디렉터리를 생성한다.
    rmdir비어 있는 디렉터리를 삭제한다.
    touch새로운 파일을 생성하거나 기존 파일의 수정 시간을 변경한다.
    cat텍스트 파일 내용을 화면에 출력한다.
    보기 펼치기
    1. pwd, 2. ls, 3. cd, 4. cp
  4. #4·빈칸 채우기·난이도 어려움·쪼잔함 4 (화병)네트워크보안

    다음은 오류 검출 방식에 대한 설명이다. 설명을 읽고, 빈칸 (①)~(⑤)에 들어갈 알맞은 용어를 [보기]에서 골라 작성하시오.

    • (①) 코드는 전송 데이터에 여러 개의 검사 비트를 추가하여 오류를 검출하고, 수정까지 가능한 방식이다. 이 코드는 재전송 없이 수신 측에서 자체 수정하는 (②) 방식에 속한다.
    • 반면, 오류 발생 시 송신 측에 재전송을 요구하는 방식은 (③)이라 하며, 여기에는 대표적인 검사 비트 법으로 (④) 검사와 (⑤) 검사가 있다.

    보기

    CRC, FEC, BEC, Parity, MD5, BCD, Hamming

    보기 펼치기

    CRC, FEC, BEC, Parity, MD5, BCD, Hamming

  5. #5·코드 추적·난이도 어려움·쪼잔함 3 (욕 나옴)프로그래밍C언어

    다음 C 코드에 대한 문제이다. 아래 코드를 확인하여 알맞은 출력값을 작성하시오.

    #include <stdio.h>
    
    struct Test {
        int i;
        const char *g;
    };
    
    int main() {
        struct Test test[] = {{1, "ab"}, {2, "DC"}, {3, "EB"}};
        struct Test *p = &test[1];
        printf("%s", p->g + (p->i - 1));
        return 0;
    }
    
  6. #6·코드 추적·난이도 보통·쪼잔함 2 (짜증)프로그래밍C언어

    다음 C 코드에 대한 문제이다. 아래 코드를 확인하여 알맞은 출력값을 작성하시오.

    #include <stdio.h>
    
    int main() {
        char str[] = "REPUBLICOFKOREA";
        int a = 0;
        while (str[a] != '\0') {
            a++;
        }
        putchar(str[a - 2]);
        return 0;
    }
    
  7. #7·코드 추적·난이도 ·쪼잔함 4 (화병)프로그래밍C언어

    다음 C 코드에 대한 문제이다. 아래 코드를 확인하여 알맞은 출력값을 작성하시오.

    #include <stdio.h>
    
    struct Node {
        struct Node* next;
        unsigned int x;
    };
    
    int main() {
        struct Node t1 = {0, 5u};
        struct Node t2 = {0, 7u};
        struct Node t3 = {0, 11u};
    
        t3.next = &t2;
        t2.next = &t1;
    
        struct Node* curr = &t3;
        int sum = 0;
    
        while (curr) {
            sum = sum * 3 + curr->x;
            curr = curr->next;
        }
    
        sum = (sum ^ 42u) + 100u;
    
        printf("%u\n", sum);
    }
    
  8. #8·빈칸 채우기·난이도 보통·쪼잔함 2 (짜증)프로그래밍Java

    다음은 Machine이라는 인터페이스를 정의하고 WashingMachine 클래스에서 해당 인터페이스를 사용하고자 한다. 빈칸에 들어갈 올바른 키워드를 작성하시오.

    interface Machine {
        void run();
    }
    
    class WashingMachine (      ) Machine {
        private String name;
    
        public WashingMachine() {
            this.name = "LG Washer";
        }
    
        public void run() {
            System.out.println("Washing machine running");
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            WashingMachine wm = new WashingMachine();
            wm.run();
        }
    }
    
  9. #9·코드 추적·난이도 어려움·쪼잔함 3 (욕 나옴)프로그래밍Python

    다음 파이썬 코드의 실행 결과로 알맞은 것을 고르시오.

    data = [
        [3, 5, 2, 4, 1],
        [4, 5, 1],
        [4, 4, 1, 5, 4],
        [4, 5]
    ]
    
    result = {}
    
    for index, lis in enumerate(data):
        list_sum = sum(lis)
        list_len = len(lis)
        result[index] = (list_sum, list_len)
    
    print(result)
    

    ① {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ② {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ③ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ④ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ⑤ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ⑥ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ⑦ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ⑧ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)}

    보기 펼치기

    ① {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ② {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ③ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ④ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ⑤ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ⑥ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ⑦ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)} ⑧ {0: (15, 5), 1: (10, 3), 2: (18, 5), 3: (9, 2)}

  10. #10·코드 추적·난이도 어려움·쪼잔함 4 (화병)데이터베이스SQL

    다음은 테이블에서 조건값을 수행한 화면이다. 이에 대한 알맞은 결과를 작성하시오.

    T1

    CODENAME
    3258smith
    4324allen
    5432scott

    T2

    NORULE
    12s%
    32%t%
    SELECT COUNT(*) CUT FROM T1 A
    CROSS JOIN T2 B
    WHERE A.NAME LIKE B.RULE;
    
  11. #11·단답형·난이도 쉬움·쪼잔함 2 (짜증)보안

    다음 설명에 해당하는 인증 기술을 쓰시오.

    • 한 번 사용하면 즉시 폐기되어 재사용이 불가능한 인증 방식이다.
    • 서버와 토큰(앱)은 시간 동기화 또는 카운터 기반 방식으로 매번 새로운 값을 생성한다.
    • 내부 검증은 해시 함수를 사용하여 이루어지므로, 서버가 이전 비밀번호를 저장하지 않아도 유효성을 확인할 수 있다.
    • 재전송 공격을 방지할 수 있으며, 은행 인증 등 높은 보안이 요구되는 환경에서 널리 사용된다.
  12. #12·빈칸 채우기·난이도 보통·쪼잔함 2 (짜증)프로그래밍Java

    다음은 Java의 상속과 생성자 호출에 관한 코드이다. 밑줄에 알맞은 단어를 작성하시오.

    class Rectangle {
        int width, height;
    
        Rectangle(int width, int height) {
            this.width = width;
            this.height = height;
        }
    }
    
    class Square extends Rectangle {
        Square(int a) {
            ________(a, a);
        }
    
        int getSquareArea() {
            return width * height;
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            Square sq = new Square(10);
            System.out.println(sq.getSquareArea());
        }
    }
    
  13. #13·단답형·난이도 보통·쪼잔함 2 (짜증)보안

    다음은 인증 및 자원 접근 방식에 대한 설명이다. 알맞은 용어를 쓰시오.

    • 사용자가 새로 가입하지 않아도 기존에 이용 중인 서비스 계정으로 다른 서비스에 로그인할 수 있게 해주는 기술이다.
    • 서버와 토큰(앱)은 시간 동기화 또는 카운터 기반 방식으로 매번 새로운 값을 생성한다.
    • 직접 인증(Authentication)을 수행하는 것이 아니라, 인가(Authorization) 절차를 통해 제3자에게 접근 권한을 부여하는 방식이다.
    • 인증이 완료되면 서비스 제공자는 Access Token을 발급하고, 애플리케이션은 이 토큰을 사용하여 API 호출 시 해당 자원에 접근한다.
    • 대표적인 예는 소셜 로그인이며, SSO와 달리 동일 시스템 내의 인증이 아니라 서로 다른 서비스 간 권한 위임에 사용된다.
  14. #14·단답형·난이도 어려움·쪼잔함 4 (화병)데이터베이스SQL

    아래의 테이블을 확인하여 R % S의 결과를 테이블 형태로 기재하시오.

    [R 테이블]

    AB
    a1b1
    a2b2
    a1b3

    [S 테이블]

    B
    b1
    b3
  15. #15·코드 추적·난이도 보통·쪼잔함 2 (짜증)프로그래밍C언어

    다음 C 코드에 대한 문제입니다. 아래 코드를 확인하여 알맞은 출력값을 작성하시오.

    #include <stdio.h>
    int main() {
        int x=7, y=4, z;
        z = y % 3 < 3 ? 2 : 1;
        z = z & z >> 1;
        z = x > 5 && z <= 3 ? z * x : z / x;
        printf("%d", z);
        return 0;
    }
    
  16. #16·빈칸 채우기·난이도 쉬움·쪼잔함 4 (화병)데이터베이스

    다음은 관계 데이터베이스 개념에 대한 설명입니다. 각 설명에 알맞은 용어를 [보기]에서 골라 순서대로 쓰시오.

    ㄱ. 테이블에서 한 행(Row)을 의미하며, 하나의 레코드를 구성하는 요소이다. ㄴ. 실제 데이터가 저장되어 있는 테이블의 내용 전체를 의미하며, 데이터의 상태를 나타낸다. ㄷ. 테이블에 저장된 행(Row)의 총 개수를 의미한다.

    [보기] 스키마(Schema), 속성(Attribute), 튜플(Tuple), 차수(Degree), 인스턴스(Instance), 카디널리티(Cardinality)

  17. #17·코드 추적·난이도 보통·쪼잔함 2 (짜증)프로그래밍Java

    다음은 Java에 대한 코드다. 알맞은 출력값을 작성하시오.

    enum Tri {
        A("A"), B("ab"), C("ABC");
        private String code;
        Tri(String code) {
            this.code = code;
        }
        public String code() {
            return code;
        }
    }
    public class Main {
        public static void main(String[] args) {
            Tri t = Tri.values()[1];
            System.out.print(t.code());
        }
    }
    
  18. #18··난이도 어려움·쪼잔함 3 (욕 나옴)보안

    다음은 정보보안에서 사용되는 접근통제(Access Control) 방식에 대한 설명입니다. 설명을 읽고 [보기]에서 알맞은 접근통제 모델을 고르시오.

    ㄱ. 중앙에서 보안 정책을 일괄적으로 설정하며, 사용자가 임의로 수정하거나 변경할 수 없다. 주로 군사 기밀, 국가 보안과 같은 높은 등급의 보안 환경에서 사용되며, 보안 등급(Top Secret/Secret/Confidential 등)에 따라 접근 여부가 결정된다. ㄴ. 조직에서 부여된 직무나 역할(Role)에 따라 접근 권한을 부여하는 방식이다. 개별 사용자에게 직접 권한을 주지 않고 역할에만 권한만 부여하기 때문에 관리가 용이하며 직무 변경 시 역할만 바꾸면 된다. ㄷ. 자원의 소유자(Owner)가 해당 자원에 대한 접근 권한을 자유롭게 설정·부여·회수할 수 있는 방식인데(예: 얼마나 소유자가 읽기/쓰기/실행 권한을 지정하는 방식).

    [보기] DAC, MAC, RBAC

  19. #19·빈칸 채우기·난이도 보통·쪼잔함 3 (욕 나옴)소프트웨어공학테스트

    다음은 테스트케이스의 구성요소에 대한 설명이다. 괄호 안에 들어갈 알맞은 용어를 [보기]에서 골라 쓰시오.

    식별자 ID테스트 항목(①)(②)(③)
    DS-45S-21로그인 기능사용자 초기 화면사용자 아이디(Test11) 비밀번호(test@#@!#)로그인 성공
    DS-45S-25로그인 기능사용자 초기 화면사용자 아이디(Test11) 비밀번호("")로그인 실패

    [보기] ㄱ. 테스트 조건 ㄴ. 테스트 환경 ㄷ. 테스트 유형 ㄹ. 테스트 데이터 ㅁ. 예상 결과 ㅂ. 수행 단계 ㅅ. 성공/실패 기준

  20. #20·코드 추적·난이도 어려움·쪼잔함 2 (짜증)데이터베이스SQL

    다음은 SQL에 관한 문제이다. 아래 A테이블을 참고하여 쿼리의 결과를 작성하시오.

    [A테이블]

    col1col2
    2null
    36
    23
    null3
    45
    SELECT count(col2) FROM A WHERE col1 IN (2, 3) OR col2 IN (3, 5)