Tiny Bunny
[정보처리기사 실기] 포인터 배열
·
정보처리기사
1. 포인터 기본 개념표현의미예시해석int *p정수형 포인터 변수int *p = &a;a의 주소를 저장하는 변수&변수변수의 주소값&a[0] → 100 *포인터해당 주소에 있는 값*p → 주소 p가 가리키는 곳의 값 2. 배열과 포인터 관계int a[3] = {10, 20, 30}; int *p = a; // == &a[0]표현해석p[0] or *pa[0] → 10p[1] or *(p + 1)a[1] → 20p[2] or *(p + 2)a[2] → 30p는 배열의 첫 번째 요소를 가리키고 있으므로, p[0] 또는 *p는 a[0]과 동일p[1] 또는 *(p + 1)은 a[1]과 동일하고, p[2]는 a[2]를 가리 📌 즉, 배열처럼 쓰면 된다. 주소 계산은 자동으로 처리됨! 3. 주소값과 값 구분p는 포인..
[정보처리기사 실기] 서브넷 계산 문제 풀이
·
정보처리기사
다음 세 가지 문제를 통해, 서브넷 마스크와 서브넷팅 개념을 자세히 정리하고 실전처럼 계산하고 활용하는 방법을 배워보겠습니다.IP 주소와 서브넷 마스크IP 주소IP 주소는 네트워크 상에서 각 기기를 구별하기 위한 고유한 번호입니다.IPv4 주소는 32비트로 구성되며, 보통 10진수 4개 묶음(8비트씩) 으로 표현됩니다.예:192.168.1.132 → 32비트 중 앞 8비트씩 4묶음 = 192.168.1.132IP 주소의 두 가지 정보네트워크(Network) 부분: 어느 네트워크에 속했는가?호스트(Host) 부분: 네트워크 안에서 어떤 기기인가?이 네트워크와 호스트의 경계를 정해주는 것이 바로 서브넷 마스크입니다.서브넷 마스크서브넷 마스크는 고정된 네트워크 영역을 1로, 바뀌는 호스트 영역을 0으로 표시한..
[정보처리기사 실기] 빈출 키워드 30 (21~30)
·
정보처리기사
키워드개념팁/포인트21정규화 (Normalization)중복 제거 + 이상(Anomaly) 방지를 위한 데이터 구조 정리1NF → 2NF → 3NF → BCNF 흐름 기억이상 해결의 핵심 도구22반정규화 (Denormalization)성능 향상을 위해 정규화된 테이블을 합치거나 중복 허용JOIN 줄이고 조회 빠르게, 성능이 우선일 땐 고려23트랜잭션 (Transaction)DB 상태 변화의 논리적 단위, ACID 특성 필수A.C.I.D = 원자성/일관성/고립성/지속성 → 실기 자주 출제!24Commit & RollbackCommit: 저장 / Rollback: 되돌리기“Ctrl+S vs Ctrl+Z”처럼 외우면 쉽다25인덱스 (Index)데이터 검색을 빠르게 하는 목차 구조삽입·수정 시 성능 저하 주의,..
[정보처리기사 실기] 빈출 키워드 30 (11~20)
·
정보처리기사
키워드개념팁/포인트11관계 해석원하는 데이터를 비절차적으로 기술하는 질의 언어(TRC, DRC 포함)“무엇을?”만 명시, 어떻게는 기술 안 함 / 관계대수와 구분 (절차적 vs 선언적)12이상 (Anomaly)중복 데이터로 인해 발생하는 삽입/삭제/갱신 문제삽삭갱 기억 / 정규화를 통해 해결 가능13기본키 & 후보키기본키: 유일 식별 / 후보키: 유일성과 최소성 모두 만족하는 키 후보군후보키 = 후보자들, 기본키 = 당선자 1명14정적 vs 동적 테스트정적: 실행 없이 검사 / 동적: 실행 후 결과 확인“정적 = 눈으로 확인, 동적 = 돌려보고 확인”15단위 테스트 (Unit Test)가장 작은 기능 단위(함수, 모듈)를 검증하는 테스트코딩 직후 빠른 오류 발견 / 부품 단위 테스트16통합 테스트모듈 간..
[정보처리기사 실기] 빈출 키워드 30 (1~10)
·
정보처리기사
키워드개념팁/포인트1애자일 (Agile)반복과 피드백 중심의 유연한 개발 방식워터폴과 반대, 변화에 민첩하게 대응, “반복+협업+빠른 피드백”2리팩토링 (Refactoring)기능은 그대로, 코드 구조만 개선하는 작업리디자인은 기능까지 바꿈 Refactor = Fix + Structure3클래스 다이어그램UML에서 클래스 간 관계와 구조를 표현한 정적 다이어그램설계도 느낌, 클래스명/속성/메서드 3구획 기억4기능 vs 비기능 요구사항기능: 시스템이 해야 할 일 / 비기능: 성능, 보안 등 외적 요구사항기능 = 무엇을, 비기능 = 어떻게 잘할 것인가5정규화 (Normalization)데이터 중복 제거와 이상(Anomaly) 방지를 위한 테이블 구조 정리1NF~3NF 순서 기억 이상이 있으면 → 정규화6트랜..
[정보처리기사 실기] C언어 배열과 포인터, 실기 대비 예제와 개념
·
정보처리기사
정보처리기사 실기 대비 - 흥달쌤 유튜브에서 C언어 배열과 포인터 강의를 보고 학습한 내용을 기록한 포스팅입니다.1. 배열의 개념배열같은 자료형(예: int, char)의 데이터를 연속된 메모리 공간에 저장하는 변수입니다.예: int arr[4] = {10, 11, 12, 13};배열의 구조int p[[4] = {10, 11, 12, 13}; 인덱스(Index) 값(Value) 주소(가정)p[0]10100p[1]11101p[2]12102p[3]13103주소는 연속된 메모리에 저장되며, 한 칸 = 4바이트 라는 실제 메모리 구조는 생략하고, 가정된 주소로 이해구분p[1]인덱스 1의 값 (11)11&p[1]인덱스 1의 주소 (위치)1012. 포인터(Pointer)의 개념✔️ 포인터변수의 주소(메모리 위치) ..
[정보처리기사 실기] C언어 기초 문법 예제 (3)정적 변수, 구조체, 2차원 배열
·
정보처리기사
1. 정적 변수 (Static Variable)정적 변수는 프로그램이 실행되는 동안 메모리에 고정된 위치를 차지하며, 함수나 블록이 종료되더라도 값이 유지되는 변수를 말합니다.이는 변수 선언 시 static 키워드를 사용하여 선언합니다.예제 코드:#include void counter() { static int count = 0; // 정적 변수 선언 및 초기화 count++; printf("현재 count 값: %d\n", count);}int main() { counter(); // 첫 번째 호출 counter(); // 두 번째 호출 counter(); // 세 번째 호출 return 0;}정적 변수 선언 및 초기화:static int count = 0;coun..
[정보처리기사 실기] C언어 기초 문법 예제 (2) 정렬, 포인터
·
정보처리기사
1. 정렬 (Sorting)정렬은 데이터 요소들을 일정한 순서(예: 오름차순 또는 내림차순)로 재배열하는 과정을 말합니다.정렬은 데이터 검색, 분석, 시각화 등 다양한 분야에서 필수적인 작업입니다.💡 버블 정렬이웃한 두 개의 숫자를 비교해서 큰 수를 오른쪽으로 ‘밀어내는’ 정렬 방식.이 과정을 여러 번 반복하면 가장 큰 수부터 순서대로 뒤로 가면서 정렬됨.마치 물속에서 거품이 떠오르듯 큰 숫자가 위(오른쪽)로 밀려남 → 버블 정렬(Bubble Sort)예제 코드: 버블 정렬 (Bubble Sort)#include void bubbleSort(int arr[], int n) { int temp; for (int i = 0; i arr[j + 1]) { // 앞의 요소가 뒤의 요소보다..
[정보처리기사 실기] C언어 기초 문법 예제 (1) 함수 호출, 완전수 …
·
정보처리기사
1. 함수 호출함수 호출은 특정 작업을 수행하는 코드 블록을 정의하고, 필요할 때 해당 블록을 실행하는 방식입니다. 이를 통해 코드의 재사용성과 가독성을 높일 수 있습니다. 예제 코드:#include int r1() { return 4;}int r10() { return 30 + r1();}int r100() { return 200 + r10();}int main() { printf("%d\n", r100()); return 0;} r1() 함수는 4를 반환합니다.r10() 함수는 30에 r1()의 반환값을 더하여 반환합니다.r100() 함수는 200에 r10()의 반환값을 더하여 반환합니다.main() 함수에서 r100()을 호출하여 최종 결과를 출력합니다.출력 결과: 234..
[정보처리기사 실기] 파이썬(Python) 문제 해설
·
정보처리기사
슬라이싱(Slicing)[문제 - 2023년 2회]a = "engineer information processing"b = a[:3]c = a[4:6]d = a[28:]e = b + c + dprint(e)📍 정답: engneing 슬라이싱a[start:end] → start 인덱스부터 end-1 인덱스까지 추출합니다.생략 가능:a[:3] → 처음부터 인덱스 2까지a[4:] → 인덱스 4부터 끝까지a[:] → 전체 문자열 복사🔍 해설a = "engineer information processing"문자열의 인덱스를 기준으로 보면:e n g i n e e r i n f o r m a t i o n p r o c e s s i n g0 1 2 3 4 5 6 7 8 9 ...b = a[:3] → ..