본문 바로가기
728x90
320x100

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

이진검색 (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.
배열 복사하기 (chap02/CloneArray) package chap02; import java.util.Arrays; //배열을 복제. public class CloneArray { public static void main(String[] args) { int[] a = {1, 2, 3, 4, 5}; int[] b = a.clone(); //b는 a의 복제를 참조. b[3] = 0; System.out.println("a = " + Arrays.toString(a)); System.out.println("b = " + Arrays.toString(b)); } } 2022. 10. 23.
728x90
320x100