Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스프링 mvc2 - 로그인 처리
- 자바의 정석 기초편 ch11
- 자바의 정석 기초편 ch8
- 자바의 정석 기초편 ch13
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch3
- 2024 정보처리기사 수제비 실기
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch4
- jpa - 객체지향 쿼리 언어
- 스프링 mvc2 - 타임리프
- 2024 정보처리기사 시나공 필기
- 스프링 mvc1 - 서블릿
- 게시글 목록 api
- 자바의 정석 기초편 ch2
- 스프링 mvc2 - 검증
- 스프링 db2 - 데이터 접근 기술
- 자바의 정석 기초편 ch1
- 자바의 정석 기초편 ch5
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch9
- 스프링 db1 - 스프링과 문제 해결
- 스프링 입문(무료)
- 타임리프 - 기본기능
- 자바의 정석 기초편 ch7
- @Aspect
- jpa 활용2 - api 개발 고급
- 코드로 시작하는 자바 첫걸음
Archives
- Today
- Total
나구리의 개발공부기록
Chapter 05 - 실기 6강 단원 종합 문제 본문
2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비)/실기 6강 - 프로그래밍 언어 활용
Chapter 05 - 실기 6강 단원 종합 문제
소소한나구리 2024. 6. 24. 23:062024년도 수제비 실기책(6판) 내용 정리
1. C 코드의 출력 결과를 작성
문제 및 풀이
#include <stdio.h>
int main() {
if(0.5){ // 0이 아니면 true
printf("A");
}
else{
printf("B");
}
}
// 컴파일러가 return 0; 을 암묵적으로 추가하여 에러가 안남
// A
2. C 코드의 출력 결과를 작성
문제 및 풀이
#include <stdio.h>
int main(){
int a = 1, b = 3;
switch(++a + b){ // 2 + 3 -> 5로 이동
case 3: printf("A");
case 4: printf("B");
break; case 5: printf("C"); // C 출력, break문이 없어서 default 문도 출력
default: printf("E");
}
}
// CE
3. C 코드의 출력 결과를 작성
문제 및 풀이
#include <stdio.h>
int main(){
int i=2;
while (--i){ // 0이 되면 종료, 1. --i로 1이 됨, 3. i가 0(false)이되어 반복문 종료
printf("%d", i); // 2. i출력
}
}
// 1
4. C 코드의 결과를 보고 밑줄 친 곳에 알맞은 코드를 작성
출력 결과 : 51
문제 및 풀이
#include <stdio.h>
int a(int i){ return i;}
int b(int i, int j){ return i-j; }
int main(){
// 포인터 변수와 int a, b 함수를 연결해야 함
int (*p)(int); // int형 변수 1개를 사용하는 함수 포인터 변수
int (*pf)(int, int); // int형 변수 2개를 사용하는 함수 포인터 변수
___1___;
printf("%d", p(5));
___2___;
printf("%d", p(5, 4));
}
// 1: p = a
// 2: pf = b
5. C 코드의 출력 결과를 작성
문제 및 풀이
#include <stdio.h>
int Soojebi(int base, int exp) { // base = 2, exp = 10
int i, result = 1;
for(i=0; i<exp; i++) { // 0 ~ 9 까지 반복
result *= base; // 1. 1 * 2
return result; // 바로 return이 있으므로 반복문 종료
}
}
int main() {
printf("%d", Soojebi(2,10));
}
// 2
6. C 코드의 출력 결과를 작성
문제 및 풀이
#include <stdio.h>
int fn(char* a) {
int i = 0;
for(i=0; a[i] != '\0'; i++); // a[i]의 값이 null이 아니면 i값을 증가
return i; // 증가된 i값을 반환
}
int main(){
char a[10] = "Hello"; // 문자열을 char타입 배열 변수a에 저장
printf("%d", fn(a));
}
// 5
7. C 코드의 출력 결과를 작성
문제 및 풀이
#include <stdio.h>
int main(int argc, char *argv[]){
int a = 5, b = 3, c = 12;
int t1, t2, t3;
t1 = a && b; // 5 && 3, 1
t2 = a || b; // 5 || 3, 1
t3 = !c; // !12, 0
printf("%d", t1 + t2 + t3);
return 0;
}
// 2
8. C 코드의 출력 결과를 작성
문제 및 풀이
#include <stdio.h>
int main(){
int a = 0, i = 3;
for( ; i<100; i*=3) // 3부터 99까지 i * 3을 누적 곱셈연산하면서 반복
a += i; // 1. 9 = 3 * 3
// 2. 27 = 9 * 3
// 3. 81 = 27 * 3
// 4. 243 = 81 * 4, i가 100을 넘어가서 반복문 종료
printf("%d", i); // i의 값을 출력
}
// 243
9. 자바 코드의 출력 결과 작성
문제 및 풀이
public class Soojebi {
public static void main(String[] args){
System.out.println("" + 1 + 2);
System.out.println(1 + 2 + "");
}
}
// 12
// 3
10. 자바 코드의 출력 결과 작성
문제 및 풀이
class Parent{
public Parent() { // Parent 클래스 생성자
System.out.print("A");
}
public void fn() { // 부모클래스의 fn 메서드
System.out.print("B");
}
public void fnA() { // fnA 메서드, 상속받았기 때문에 둘다 사용가능
System.out.print("C");
}
}
class Child extends Parent { // 상속
public Child() { // Child 클래스 생성자
System.out.print("D");
}
public void fn() { // 메서드 오버라이딩
System.out.print("E");
}
public void fnB() { // fnB 메서드, Child에만 있음
System.out.print("F");
}
}
public class Soojebi {
public static void main(String[] args){
Child c = new Child(); // 부모 생성자 호출 후 자식 생성자 호출
c.fn(); // 오버라이딩된 Child 클래스의 fn()메서드 호출
c.fnA(); // 상속받은 fnA 메서드 호출
}
}
// ADEC
11. 자바 코드의 출력 결과 작성
문제 및 풀이
public class Soojebi {
public static int fn(int key, int[] arr, int cnt) {
int mid;
int low = 0, high = cnt - 1;
int i = 0;
while(low <= high) { // 0 <= 10 까지 반복
i++; // 1. i = 1
// 4. i = 2
// 8. i = 3
mid = (low + high) / 2; // 2. mid = 5
// 5. mid = 2
// 9. mid = 0
if(key == arr[mid]) { // 10. 92 == 92(arr[0])
return i; // i의 값 반환
}
else if(key < arr[mid]) { // 3. 92 < 716
// 6. 92 < 215
high = mid - 1; // 4. high = 4
// 7. high = 1
}
else {
low = mid + 1;
}
}
return -1;
}
public static void main(String[] args) {
int[] a = {92, 100, 215, 341, 625, 716, 812, 813, 820, 901, 902};
int cnt = fn(92, a, 11); // fn함수의 연산 결과를 cnt에 저장후 출력
System.out.println(cnt);
}
}
// 3
12. 자바 코드의 밑줄친 곳에 알맞은 키워드를 작성
문제 및 풀이
class Parent {
String className = "Parent Class";
public void info() {
System.out.println(className);
}
}
class Child ___1___ Parent1{
String className = "Child Class";
public void info() {
super.info();
System.out.println();
}
}
public class Soojebi {
public static void main(String[] args) {
Parent p = __2__ Parent();
p.info();
Child c = __3__ Child();
c.info();
}
}
// 1: extends
// 2: new
// 3: new
13. 자바 코드의 출력 결과 작성
문제 및 풀이
public class Soojebi {
public static void main(String[] args) {
int n = 10;
increase(n);
System.out.println(n); // 클래스 변수 n의 값이 출력됨
}
static void increase(int n) {
n = n + 1; // 매개변수의 n의 값이 1 증가
// 반환값도 없고 스태틱 변수에 값을 저장한 것도 아니여서 변화가 없음
}
}
// 10
14. 100 이하의 자연수 중 가장 큰 소수를 구하는 자바코드의 빈칸에 들어갈 코드를 작성(단, 소수는 1과 자기 자신을 제외한 나머지 숫자로 나눠지지 않는 수임)
문제 및 풀이
public class Soojebi {
public static void main(String[] args) {
int p = 0;
for(int i = 2; i<100; i++) { // i의 값이 구하려는 소수의 값임
int t = (int)Math.sqrt(i);
for(int j = 2; j<= t; j++) {
if(i % j == 0) // i 가 j로 나누어떨어지면 소수가 아님
break;
if(j == t) // j == t인 경우는 소수이므로 i의 값을 p에 대입
p = _____;
}
}
System.out.println(p);
}
}
// i
15. 자바 코드의 출력 결과 작성
문제 및 풀이
public class Soojebi {
public static void main(String[] args) {
int i = 0, j = 0;
for(int k = 0; k < 3; k++) { // k = 0, 1, 2
if((++i > 1) && (++j > 1)) { // 1. i = 1, j = 0(++j가 실행 안됨)
// 2. i = 2, j = 1,
// 3. i = 3, j = 2
i++; // 4. i = 4
}
}
System.out.println(i + " " + j); // 출력
}
}
// 4 2
16. 파이썬 코드의 출력 결과 작
문제 및 풀이
a = ["Hello", "Python", "World"]
for i in a: # 리스트 a의 값을 하나씩 꺼냄(3번)
print("abc") # 반복문이 진행될 때마다 출력
# abc
# abc
# abc
17. 파이썬 코드의 출력 결과 작성
문제 및 풀이
a=[10,20,30,40,50,60,70,80,90]
print(a[3])
print(a[-5])
print(a[:7:2])
print(a[3:])
print(a[:5])
// 40
// 50
// [10, 30, 50, 70]
// [40, 50, 60, 70, 80, 90]
// [10, 20, 30, 40, 50]
18. 파이썬 코드의 출력 결과 작성
문제 및 풀이
sum = 0
a = [1, 2, 3, 4, 5, 6, 7, 8]
b = a[ : : 2] # [1, 3, 5, 7]
for i in range(0, 3): # i = 0, 1, 2
sum += b[i] # sum = 1 + 3 + 5
print(sum)
// 9
19. 파이썬 코드의 출력 결과 작성
문제 및 풀이
# 정렬 함수.. 오름차순
def fn(x):
n = len(x) # n = 6
for i in range(1, n): # i = 1, 2, 3, 4, 5
now = x[i] # now = 8, 2, 1, 4, 3
j = i - 1 # j = 0, 1, 2, 3, 4
while j >= 0 and x[j] > now: # 1. 0 >= 0 and 5 > 8, False, while문 종료
# 3. 1 >= 0 and 8 > 2, True
# 6. 0 >= 0 and 5 > 2, True
# ...
x[j + 1] = x[j] # 4. x[2] = 8
# 7. x[1] = 5
j -= 1 # 5. j = 0
# 8. j = -1 -> while문 종료
x[j + 1] = now #2. x[1] = 8
#9. x[0] = 2
x = [5, 8, 2, 1, 4, 3]
fn(x) # [2, 5, 8, 1, 4, 3]
print(x)
# [1, 2, 3, 4, 5, 8]
'2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비) > 실기 6강 - 프로그래밍 언어 활용' 카테고리의 다른 글
Chapter 04 - 파이썬(예상문제) (0) | 2024.06.24 |
---|---|
Chapter 04 - 파이썬(기출문제) (0) | 2024.06.23 |
Chapter 04 - 파이썬(연산자, 조건문 - if문, 반복문, 함수, 클래스, 클래스 상속) (0) | 2024.06.23 |
Chapter 04 - 파이썬(파이썬 기본구조, 자료형, 입출력 함수) (0) | 2024.06.23 |
Chapter 03 - 자바(예상문제) (0) | 2024.06.23 |