배열 5

[C언어] 과제 Review - 로또 번호 생성기

과제는 로또 번호 생성기 코드다.1부터 45 사이의 번호 중 중복 없이 6개를 뽑고,선택 정렬로 오름차순 정렬한 뒤 5회 출력하는 구조다.1. 제출 코드 구성파일역할prg_lotto_main.c프로그램 시작점, 전체 반복 흐름 담당lib_lotto_logic.h함수 원형 선언lib_lotto_logic.c로또 번호 생성, 중복 검사, 정렬, 출력 구현 이 과제에서 가장 좋은 부분은 기능을 main에 몰아넣지 않고, 번호 생성/중복 검사/정렬/출력을 함수로 분리했다는 점이다.2. 전체 실행 흐름난수 시드 설정로또 번호 배열 준비5회 반복 중복 없는 번호 6개 생성 오름차순 정렬 결과 출력프로그램 종료 main()은 세부 계산을 직접 하지 않고, 필요한 함수를 순서대로 호출한다.int mai..

language/c 2026.09.28

[C언어] 기말고사 Review - 학생 성적 구조체

기말고사 코드는 학생 성적 처리 프로그램이다.학생 10명의 이름과 C언어 점수를 입력받고,최고 성적 학생의 이름과 전체 평균을 출력한다.1. 제출 코드 구성파일역할student_prg_main.c전체 실행 흐름student_lib.h구조체 정의, 상수, 함수 원형student_lib.c입력, 최고점 탐색, 평균 계산 함수 구현 기말 코드의 핵심은 구조체 배열과 함수 분리다.2. 구조체 설계#define NAME_LEN 16#define STD_NO 10typedef struct{ char sNameZ[NAME_LEN]; double dScore;} stStudent; 멤버의미sNameZ학생 이름 문자열dScoreC언어 점수 stStudent oStudent[STD_NO]처럼 선언하면 학생 10..

language/c 2026.09.21

[C언어] 07. 배열 (Array)

학생 10명의 점수를 다루려고 변수 10개를 따로 선언하면, 합계를 구할 때 10번 더해야 하고 인원이 바뀌면 코드를 전부 고쳐야 한다. 배열은 같은 종류의 데이터 여러 개를 하나의 이름으로 묶어, 이런 번거로움을 없애준다.1. 배열이란?배열(Array)같은 자료형의 데이터 여러 개를 하나의 변수 이름으로 묶어 관리하는 자료구조다. 각 데이터는 0부터 시작하는 인덱스(index)로 구별하며, 크기는 고정되고 메모리의 연속된 공간에 저장된다.int scores[10]; // int형 10개짜리 배열scores[0]부터 scores[9]까지 10개의 요소가 만들어진다. 인덱스가 0부터 시작하므로, 크기가 10인 배열의 마지막 인덱스는 9다. 이걸 놓쳐 scores[10]에 접근하면 배열 범위를 벗어나는 ..

language/c 2026.08.17

[자바프로그래밍] 05. 배열과 예외처리

오늘은 두 주제를 다뤘다. 여러 값을 묶는 배열과, 실행 중 발생하는 오류에 대응하는 예외 처리다.자바의 배열은 C와 달리 "객체"라는 점에서 차이가 있고, 예외 처리는 자바가 안정성을 위해 강조하는 기능이다.1. 배열자바 배열의 특징같은 타입의 데이터가 순차 저장된 자료구조로, 인덱스는 0부터 length-1까지다. 자바 배열은 객체이며, 자기 크기를 length라는 속성으로 알고 있다(C 배열이 자기 길이를 모르는 것과 다름).int[] data = new int[5]; // 선언 + 생성 (크기 5)int[] data = {1, 2, 3}; // 선언 + 초기화System.out.println(data.length); // 배열 크기를 length로 안다C와 다른 두 가지가 눈..

language/java 2026.08.14

[자료구조] 02. 선형 리스트 (배열)

선형 리스트는 원소들이 순서를 가지고 1:1 관계로 나열된 자료구조다. 배열로 구현한 선형 리스트는 메모리에 원소가 연속으로 저장되므로 인덱스 접근이 빠르다.1. 배열 리스트의 특징항목내용저장 방식연속된 메모리 공간에 저장접근iArray[iIndex]로 O(1) 접근삽입삽입 위치 뒤쪽 원소들을 한 칸씩 뒤로 이동삭제삭제 위치 뒤쪽 원소들을 한 칸씩 앞으로 이동단점크기를 미리 정해야 하고 중간 삽입/삭제가 느림 배열 리스트의 핵심은 논리적 순서와 물리적 저장 순서가 같다는 점이다. 그래서 0번, 1번, 2번처럼 바로 접근할 수 있지만, 중간에 값을 넣거나 빼면 뒤쪽 원소들이 움직여야 한다.2. 삽입 연산예를 들어 {10, 20, 30, 40}의 1번 위치에 15를 넣으려면, 기존 20, 30, 40을 오른..