728x90
뉴비티 기출문제 문제은행 - 완전 새로운 CBT, iBT 문제풀이 시스템
기사, 공무원, 공인중개사 등 로그인 필요 없는 수백가지 시험 기출문제 문제은행 시험 자격증 족보 2024년 최신
newbt.kr
https://www.youtube.com/watch?v=L7-_T6IliK8&t=373
2023년 3회_1
#include <stdio.h>
int complete(int n) {
int sum = 0;
for(int j = 1; j <= n/2;, j++) {
if(n%j == 0) {
sum = sum + j;
}
}
if(sum==n) {
return 1;
} else{
return 0;
}
}
int main() {
int s = 0;
for(int i = 1; i <= 100; i++) {
if(complete(i))
s += i;
}
printf("%d", s);
}
- main(): 1부터 100까지의 숫자 중 완전수인 경우 s에 합계 저장
- 완전수: 자기 자신을 제외한 약수의 합 = 자기 자신
- ex) 1 + 2 + 3 = 6
- complete 함수
complete(int n) | n | j | j <= n/2 | n%j == 0 | sum |
complete(6) | 6 | 1 | 1 <= 3 T | T | 0 + 1 = 1 |
2 | 2 <= 3 T | T | 1 + 2 = 3 | ||
3 | 3 <= 3 T | T | 3 + 3 = 6 | ||
4 | 4 <= 3 F |
- 완전수 6, 28, 496, 8128 ... 그냥 외우기
답: 34
2023년 3회_2
#include <stdio.h>
int main() {
struct insa {
char name[10];
int age;
} a[] = {"Kim", 28, "Lee", 38, "Park", 41, "Choi", 30}; # 구조체 배열 선언
struct insa *p;
p = a;
p++;
printf("%s\n", p( )name);
printf("%d\n", p( )age);
}
# 출력
# LEE
# 38
a[0] | a[1] | a[2] | a[3] | |
name | Kim | Lee | Park | Choi |
age | 28 | 38 | 41 | 30 |
화살표 연산자(- >)
- 구조체 포인터 변수가 구조체 멤버에 접근할 때 사용하는 연산자
답: ->
2023년 3회_3
f(7) = 7 *f(6)
f(6) = 6 * f(5)
f(5) = 5 * f(4)
f(4) = 4 * f(3)
f(3) = 3 * f(2)
f(2) = 2 * f(1)
f(1) = 1
답: 5040
2023년 3회_4
p[0] | p[1] | p[2] | p[3] | p[4] |
K | O | R | E | A |
1000번지 | 1001번지 | 1002번지 | 1003번지 | 1004번지 |
- %s \n, p: 시작 위치부터 끝까지 출력 후 줄 바꿈
- %s \n, p+1: 시작 위치 + 1부터 끝까지 출력 후 줄 바꿈
- %c \n, *p: 포인터 변수 p에 저장된 값 출력 후 줄 바꿈
- %c \n, *(p+3): 포인터 변수 p+3에 저장된 값 출력 후 줄 바꿈
- %c, *p+4: *p에서('K') +4칸( K L M N 'O'), O 출력
답:
KOREA
OREA
K
E
O
2023년 2회_1
0 | 1 | 2 | 3 | 4 |
5 | 4 | 3 | 2 | 1 |
- n[1] = 4이므로 n[0]이 4가 되려면 n[i+1]로 출력 가능
- n[2] = 3, n[3] = 2, n[4] = 1
- i < 5이므로 n[5]가 없어서 배열을 벗어나게 됨
- 배열을 로테이션해서 출력하기 위해서는 배열의 크기만큼 나머지 연산자를 이용하면 됨
- n[i+1] % 5로 출력 가능
0 | 1 | 2 | 3 | 4 |
4 | 3 | 2 | 1 | 5 |
답: n[(i+1)%5]
2023년 2회_2
- sum = 250
- sum / 30 = 8
- case 8부터 끝까지 실행, break문으로 종료
답:BCD
2023년 2회_3
- 스택 : 리스트의 한 쪽으로만 삽입과 삭제(출력)가 이루어지는 후입선출(LIFO) 형식의 자료구조
- into / take, push / pop
int main(int argc, char const *argv[]){
int e;
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());
}
return 0;
}
# 다른 표현
int main(){
int e;
push(5);
push(2)
while(!isEmpty()){
printf("%d", pop());
push(4);
push(1);
printf("%d", pop());
push(3); printf("%d", pop); printf("%d", pop);
push(6); printf("%d", pop); printf("%d", pop);
}
return 0;
}
답: 213465
2023년 2회_4
- 1부터 2023까지의 4의 배수 수
답: 505
2023년 2회_5
- E[0] = 64, E[1] = 25, E[2] = 12, E[3] = 22, E[4] = 11
- sizeof: 데이터 타입의 크기를 반환, int형은 4byte
- n = sizeof(E) / sizeof(E[0]) = 5 * 4 / 4 = 5
- swap 알고리즘 사용, E[i]와 E[j]를 비교해서 swap해야 함
- 오름차순(디폴트)이면 >, 내림차순이면 <
답: >
2023년 1회_1
- %s : 해당 포인터부터 문자열 출력
- %c : 해당 포인터의 문자 하나 출력
- char* p = NULL; p = a; 했을 때, p에는 변수 a의 주소가 들어감 (NULL = 1000)
A | r | t |
a[0] | a[1] | a[2] |
1000번지 | 1001번지 | 1002번지 |
printf("%s\n", a);
printf("%c\n", *p);
printf("%c\n", *a);
printf("%s\n", p);
for(int i = 0; a[i] != '\0'; i++)
printf("%c", a[i]);
답:
Art
A
A
Art
Art
2023년 1회_2
- a[i]와 a[j] 같은 경우 출력
a[0] | a[1] | a[2] | a[3] | a[4] |
q | w | e | r | \0 |
b[0] | b[1] | b[2] | b[3] | b[4] | b[5] | b[6] |
q | w | t | e | t | y | \0 |
답: qwe
2023년 1회_3
- 2진수를 10진수로 변환하는 알고리즘을 구현한 while
input | input == 0 | sum | di |
1 | |||
101110 → 10111 | F | 0 + (101110%10) * 1 = 0 | 2 |
10111 → 1011 | F | 0 + (10111%10) * 2 = 2 | 4 |
1011 → 101 | F | 2 + (1011%10) * 4 = 6 | 8 |
101 → 10 | F | 6 + (101%10) * 8 = 14 | 16 |
10 → 1 | F | 14 + (10%10) *16 = 14 | 32 |
1 → 0 | F | 14 + (1%10) * 32 = 46 | 32 |
0 | T |
답: (a): % (b): 10
728x90
'자격증' 카테고리의 다른 글
[정보처리기사] 실기 용어 정리 애플리케이션 테스트 관리 (0) | 2024.04.24 |
---|---|
[정보처리기사] 실기 용어 정리 데이터 입출력 구현 (1) | 2024.04.24 |
[정보처리기사] 실기 기출문제(2023-2020) 풀이 Python (2) | 2024.04.22 |
[자격증] SQLD 1과목 이론 요점 정리(데이터 모델링의이해, 데이터 모델과 SQL, 2024년 개정 ver) (1) | 2024.02.19 |
[정보처리기사] 유튜브 두목넷 정보처리기사 실기를 위한 C 특강(7강 포인터) (0) | 2024.02.18 |