프로그래밍기능사 실기 예상문제 맛보기

프로그래밍기능사(구 정보처리기능사) 실기 작업형이 실제로 어떻게 나오는지 샘플 문제로 확인해 보세요. 아래는 정답·해설을 함께 공개한 예시이며, 전체 481문항은 홈에서 무료로 풀 수 있습니다.

무료로 481문항 풀어보기 → 시험 안내 보기

예시 1프로그래밍 언어

다음은 dictionary 변수에 어떤 값이 value로 포함되어 있다면 해당 value의 key 값을 모두 찾아 반환하는 Python 프로그램이다. ( ① )에 들어갈 알맞은 메소드를 쓰시오.

def find_keys(d, target):
    return [k for k, v in d.( ① ) if v == target]

정답 items()

딕셔너리의 items() 메소드는 (key, value) 쌍을 함께 순회하게 해 주므로 value가 target과 같은 key를 모을 수 있다.

예시 2프로그래밍 언어

다음 Python 프로그램에서 오류가 발생하는 Line의 번호를 쓰시오. (프로그램의 첫 줄이 1번 Line이다.)

def fib(n) :
    result = [ ]
    x, y = 1, 1
    for _ in range(n):
        result.append(x)
        x, y = y, x+y
return result

count = 7
print(fib(count)[-1])

정답 7

return이 함수 밖(7번째 줄)으로 들여쓰기되어 'return outside function' 문법 오류가 발생한다.

예시 3프로그래밍 언어

다음 Python 프로그램의 오류를 적절하게 수정하여 실행했을 때 출력되는 결과를 쓰시오.

def fib(n) :
    result = [ ]
    x, y = 1, 1
    for _ in range(n):
        result.append(x)
        x, y = y, x+y
return result

count = 7
print(fib(count)[-1])

정답 13

return의 들여쓰기를 함수 안으로 맞추면 fib(7)=[1,1,2,3,5,8,13]의 마지막 값 13이 출력된다.

예시 4프로그래밍 언어

다음 JAVA 프로그램의 실행 결과를 쓰시오.

public class Main {
    public static void main(String[ ] args) {
        String t1 = new String("JAVA");
        String t2 = new String("JAVA");
        if(t1 == t2) System.out.print(t1);
        else System.out.print(t1+t2);
    }
}

정답 JAVAJAVA

new String()으로 만든 두 객체는 서로 다른 참조라 ==는 false가 되어 else의 t1+t2가 실행되므로 JAVAJAVA가 출력된다.

예시 5프로그래밍 언어

다음 JAVA로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

public class Main {
    public static void main(String[] args) {
        int ans = (int)Math.pow(3, Math.ceil(Math.PI));
        System.out.printf("%d", ans);
    }
}

정답 81

Math.PI(3.14…)에 Math.ceil을 적용하면 4.0, Math.pow(3,4)=81.0을 int로 형변환해 81이 출력된다.

예시 6SQL 활용

member 테이블에는 name(이름), uid(사번), team(부서) 컬럼이 있다. 성이 최씨이면서 이름이 2글자(성 포함 총 3글자)인 사람의 정보를 찾으려 한다. 다음 SQL의 ( ① ) 안에 들어갈 알맞은 패턴을 쓰시오. (단, 한 글자를 나타내는 와일드카드를 사용한다.)

SELECT * FROM member WHERE name LIKE '( ① )';

정답 최__

언더스코어(_)는 임의의 한 글자를 의미하므로, 성 '최' 뒤에 두 글자가 오는 총 3글자 이름은 '최__' 패턴으로 표현한다.

예시 7SQL 활용

테이블 r1, r2에 대한 다음 SQL 쿼리의 수행 결과를 쓰시오.

<r1>
c1  c2
B   4
E   6
H   2
K   5

<r2>
c1  c2
B   7
C   3
E   8
M   9

SELECT SUM(c2) AS ans
FROM r2
WHERE c1 NOT IN (SELECT c1 FROM r1);

정답 12

r2에서 r1의 c1(B, E, H, K)에 없는 행은 C(3)과 M(9)이므로 c2의 합은 3+9=12이다.

예시 8SQL 활용

<emp> 테이블에서 name이 '한'으로 시작하면서 총 3글자인 자료만 조회하도록, 다음 SQL문의 LIKE 절 괄호에 들어갈 패턴을 쓰시오.

SELECT *
FROM emp
WHERE name LIKE '( ① )';

정답 한__

언더스코어(_) 하나가 한 글자를 나타내므로, '한'으로 시작하는 총 3글자는 '한__'로 표현한다.

예시 9SQL 활용

다음 SQL문을 <p1>, <p2> 테이블에 대해 실행했을 때 출력되는 결과를 쓰시오.

<p1>
c1 | c2
A | 6
C | 4
E | 2
G | 8

<p2>
c1 | c2
A | 5
B | 7
C | 3
D | 9

SELECT SUM(c2) AS ans
  FROM p2
 WHERE c1 NOT IN
    (SELECT c1 FROM p1);

정답 16

p2에서 p1의 c1(A, C, E, G)에 없는 행은 B(7)과 D(9)이므로 합은 7+9=16이다.

예시 10정보시스템 기초기술

다음 기능에 해당하는 Linux 터미널 명령어를 <보기>에서 골라 쓰시오. 현재 작업 중인 디렉터리의 절대 경로를 화면에 표시하는 명령어를 쓰시오.

<보기>
• cd    • cat    • chmod    • ls    • echo    • pwd
• ifconfig    • rm    • top    • cp    • vi    • export

정답 pwd

pwd(print working directory)는 현재 작업 중인 디렉터리의 절대 경로를 출력한다.

예시 11정보시스템 기초기술

다음 기능에 해당하는 Linux 터미널 명령어를 <보기>에서 골라 쓰시오. 파일이나 디렉터리의 접근 권한(읽기/쓰기/실행)을 설정하거나 변경하는 명령어를 쓰시오.

<보기>
• cd    • cat    • chmod    • ls    • echo    • pwd
• ifconfig    • rm    • top    • cp    • vi    • export

정답 chmod

chmod(change mode)는 파일·디렉터리의 접근 권한(읽기/쓰기/실행)을 설정하거나 변경한다.

예시 12정보시스템 기초기술

다음 기능에 해당하는 Linux 터미널 명령어를 <보기>에서 골라 쓰시오. 파일의 내용을 화면에 출력하여 확인하는 기본적인 명령어이다.

<보기>
cat    find    rmdir    chmod    ls
chown    rm    pwd    head    cd

정답 cat

cat(concatenate)은 파일의 내용을 화면에 출력한다.

예시 13정보시스템 기초기술

다음 기능에 해당하는 Linux 터미널 명령어를 <보기>에서 골라 쓰시오. 파일이나 디렉터리의 소유자(owner)를 변경할 때 사용하는 명령어이다.

<보기>
cat    find    rmdir    chmod    ls
chown    rm    pwd    head    cd

정답 chown

chown(change owner)은 파일·디렉터리의 소유자를 변경한다.

이 외에도 프로그래밍 언어·SQL 활용·정보시스템 기초기술 전 영역 481문항을 무료로 제공합니다.

전체 문제 풀러 가기 →

← 홈으로 · 시험 안내