프로그래밍기능사 실기 예상문제 맛보기
프로그래밍기능사(구 정보처리기능사) 실기 작업형이 실제로 어떻게 나오는지 샘플 문제로 확인해 보세요.
아래는 정답·해설을 함께 공개한 예시이며, 전체 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문항을 무료로 제공합니다.
전체 문제 풀러 가기 →