본문 바로가기
728x90
320x100

💻 하나씩 차곡차곡/자료구조 & 알고리즘(JAVA)25

[Java] 배열 (Array) / 리스트 (List) 정리 배열크기 고정, 같은 타입만 저장 선언 & 초기화int[] arr = new int[5]; // 크기 5짜리 배열int[] arr2 = {1, 2, 3}; // 값으로 초기화 요소 접근arr[0] = 10;int x = arr[2];요소 추가/삭제 불가 크기 확인arr.length; 반복문for (int i = 0; i  최소/최대값 찾기int max = arr[0];for (int n : arr) if (n > max) max = n; 출력System.out.println(Arrays.toString(arr)); 리스트 (List)보통 ArrayList 사용크기 유동적, 요소 추가/삭제 편함import 필요: import java.util.*; 선언 & 초기화List list = new ArrayLis.. 2025. 3. 28.
이진검색 (chap03/practice01) 이진검색이란? 요소가 오름차순 또는 내림차순으로 정렬된 배열에서 검색하는 알고리즘 package chap03;// 연습3-1 // 선형검색(보초법 : for문을 사용하여 구현) import java.util.Scanner; class practice01 { //--- 배열 a의 앞쪽 n개의 요소에서 key와 일치하는 요소를 선형검색(보초법)---// static int seqSearchSen(int[] a, int n, int key) { int i; a[n] = key;// 보초를 추가 for (i = 0 ; a[i] != key; i++) ; return i == n ? -1 : i; } public static void main(String[] args) { Scanner stdIn = new Sc.. 2022. 10. 28.
선형검색 (chap03/SeqSearch) while문으로 구현 package chap03; import java.util.Scanner; public class SeqSearch { static int seqSearchSen(int[] a, int n, int key) { int i = 0; while(true) { if(i == n) return -1; // 검색 실패 -1을 반환. if (a[i] == key) //검색 성공. return i; // 검색 실패 -1을 반환. i++; } } public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print("요솟수 : "); int num = scan.nextInt(); int[] x .. 2022. 10. 27.
n일 전/일의 날짜를 반환하기 (chap02/Practice08) package chap02; import java.util.Scanner; public class Practice08 { int y;// 년 int m;// 월(1~12) int d;// 일(1~31) //--- 각 월의 일수 ---// static int[][] mdays = { {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},// 평년 {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},// 윤년 }; //--- year 년은 윤년인가?(윤년 : 1/평년 : 0) ---// static int isLeap(int year) { return (year % 4 == 0 && year % 100 != 0 || year % 400 =.. 2022. 10. 26.
클래스 이용하기 (chap02/Practice07) package chap02; import java.util.Scanner; // 시력분포를 해당되는 사람만큼 *로 표시하기. public class Practice07 { static final int VMAX = 21; //시력분포(0.0~0.1 단위로 21개) static class PhyscData { String name; //이름 int height; //키 double vision; //시력 public PhyscData(String name, int height, double vision) { this.name = name; this.height = height; this.vision = vision; } } //키의 평균값을 구함 static double aveHeight(PhyscData.. 2022. 10. 25.
향상된 for문 (for-each문) (chap02/ArraySumForIn) package chap02; //배열의 모든 요소의 합을 구하여 출력 (확장 for 문) public class ArraySumForIn { public static void main(String[] args) { double[] a = {1.0, 2.0, 3.0, 4.0, 5.0}; for(int i = 0; i < a.length; i++){ System.out.println("a[" + i + "] = " + a[i]); } double sum = 0; for (double i : a) sum += i; System.out.println("모든 요소의 합은 " + sum + " 입니다."); } } 2022. 10. 24.
728x90
320x100