파이썬 문제
def f(lst)
for문 i in range(len(lst)//2) #// 연산자는 정수 형태만 나와라 뿅. 6//2=3, i=0부터 2까지 반복.
lst[i],lst[-i-1] = lst[-i-1], lst[i]
#lst[0],lst[-1] = lst[-1],lst[0] #[6,2,3,4,5,1]
#lst[1],lst[-2] = lst[-2], lst[1] #[6,5,3,4,2,1]
#lst[2],lst[-3] = lst[-3], lst[2] #[6,5,4,3,2,1]
lst=[1,2,3,4,5,6]
[0] | [1] | [2] | [3] | [4] | [5] |
1 | 2 | 3 | 4 | 5 | 6 |
[-6] | [-5] | [-4] | [-3] | [-2] | [-1] |
f(lst) #함수 호출.
sum(lst[::2]-sum(lst[1::2]) #[시작:끝:스텝] #[6,5,4,3,2,1] # lst[::2] =[6,4,2] , lst[1::2]=[5,3,1] #12-9=3
정답:
3
<<틀리기 쉬운 문제>>
def f(value)
if type(value) == type(100) #정수형 int 형태랑 같냐?
return 100
elif type(value) == type("") #문자열 형태랑 같냐?
return len(value)
else
return 20
a='100.0' #문자열 형태, str
b=100.0 #실수 형태!!!!! int 형태가 아님!!!!! 100이 int 형태임.
c=(100,200) #튜플
f(a)+f(b)+f(c) #5+20+20=45
정답:
45
자바 문제
클래스 메인
static string[]s =new string[3]
[0] | [1] | [2] |
A | A | A |
static void f(string[]s, int size)
for문 i=1; i<3; i++
if문 s[i-1].equals(s[i]) //값이 같은 지 물어봄. s[0].equals(s[1])=참, s[1].equals(s[2])=참
참이면 system.out.print("O")
else
거짓이면 ("N")
for(string m : s) //향상된 for문. for (데이터 타입 변수명 : 배열)
system.out.print(m)
메인 함수
s[0]="A"
s[1]="A"
s[2] = new string("A")
f(s,3) //함수호출.
정답:
OOAAA
자바문제
클래스 부모
int x = 3
int get()
return x*2
클래스 자식 상속 부모
int x=7
int getx() //재정의
return x*3
클래스 메인
부모 a = new 자식() //업캐스팅.
자식 b = new 자식()
a.getx()+a.x+b.get()+b.x=21 //자식에서 재정의한 함수 적용해야함. 자식이 부모 상속했으니까. +3+21+7=
6+3+21+7
정답:
52
c언어 문제. 이중포인터.
f(int**arr, int size) //pp, 5 받음.
for문
i=0; i<5; i++
*(*arr+i) = (*(*arr+i)+i) % 5 // *(*pp+1) , *pp는 p이다!!!!! *(*pp+1) =*(p+1)
*(*pp+0) = (*(*pp+0)+0) % 5 | 3 %5 | 3 |
*(*pp+1) = (*(*pp+1)+1) % 5 | 2 %5 | 2 |
*(*pp+2) = (*(*pp+2)+2) % 5 | 6 %5 | 1 |
*(*pp+3) = (*(*pp+3)+3) % 5 | 4 %5 | 4 |
*(*pp+4) = (*(*pp+4)+4) % 5 | 9 %5 | 4 |
메인함수
int arr[]={3,1,4,1,5}
3 | 1 | 4 | 1 | 5 |
[0] | [1] | [2] | [3] | [4] |
arr[0] | ||||
p | p+1 |
int*p = arr //arr 배열을 가리키는 포인터 p. p는 arr[0]의 주소를 가리킨다. *p는 arr[0]의 값인 3이다.
int**pp = &p //포인터 p의 주소(arr[0]의 주소)를 가리키는 포인터의 포인터. 이중포인터. **pp는 결국 arr[0]의 값인 3이다.
int num = 6
f(pp,5)
num = arr[2]
%d, num
정답:
1
자바문제. try- catch- finally문.
클래스 이
메인함수
int sum = 0
try문
f()
catch(널포인터예외 e)
sum=sum+1 //1
catch(예외 e)
sum=sum+10
finally //무조건 파이널리도 실행시킨다.
sum=sum+100 //101
f()
throw new 널포인터예외 //throw는 강제로 에러를 발생시킨다.
정답:
101
<<틀리기 쉬운 문제>>
자바 문제. 킬러 문제. 제네릭
클래스 프린터
print(integer a)
print(object a)
system.out.print("B"+a) //B0
print(number a)
//오버로딩
클래스 메인
new 컨테이너<>(0).print() //컨테이너라는 제네릭 클래스를 사용해서 0을 전달함. (매개변수 0). 함수명()
public static 클래스 컨테이너<T>
T value //타입을 정하지 않고 T로 함. integer로 타입 정한다고 하면 integer value 라고 씀.
public 컨테이너(Tt) //인티저로 하고 싶으면 (integer t) 라고 적으면 됨.
value = t
print()
new 프린터().print(value) //0은 int에 해당. 하지만...제네릭 타입으로 들어가면 타입이 사라짐. 개어렵
정답:
B0
구조체 사람
char*name //문자열 가리키는 포인터 변수 name.
int age
name | age |
메인함수
구조체 사람 p = {"철이", 20} //p라는 변수.
구조체 사람 *ptr= &p //구조체 p의 메모리 주소를 포인터 변수 ptr이 가리킬수 잇다.
%\n, ptr ->name //(*ptr).name 과 같은 말. ptr 포인터로 접근하려면 -> 사용해야함.
%d\n, ptr ->age
정답:
철이
20
c언어 문제. 구조체 문제.
구조체 노드
int value //정수형 변수.
구조체 노드 *next //구조체 노드를 가리키는 포인터 변수 next.
f(구조체 노드 *노드) //n1의 주소를 노드가 받음.
while문 (노드 != 널 && 노드 -> next != 널) //둘 다 참이어야 while문 실행. //n2의 next는 널이라 거짓.
int t = node -> value //t=1
node -> value = node -> next -> value //3
node -> next -> value =t //1
node = node -> next ->next //n2의 주소
메인함수
구조체 노드 n1 = {1, 널}
구조체 노드 n2 = {2, 널}
구조체 노드 n3 = {3, 널}
1 | &n3 |
3 |
2 | 널 |
3 | &n2 |
1 |
n1.next = &n3
n3.next = &n2
f(&n1)
구조체 노드 *current = &n1
while문 current != 널 /참인동안 실행.
%d, current->value
current= current -> next
정답:
312
'정보처리기사 필답 실기. 코딩 문제.' 카테고리의 다른 글
자바 코드 문제 (1) | 2025.05.18 |
---|---|
c언어 코드문제 (0) | 2025.05.18 |
정처기 24년 2회 코드 기출문제 (0) | 2025.05.13 |
정처기 24년 1회 코드 기출문제 (0) | 2025.05.13 |
정처기 23년 3회 코드 기출문제 (0) | 2025.05.12 |
댓글