분류 전체보기(137)
-
[알고리즘, 자료구조] Arrays.binarySearch에 의한 이진검색
알고리즘, 자료구조링크선형검색https://ycraah.tistory.com/18보초법https://ycraah.tistory.com/24이진검색https://ycraah.tistory.com/27 binarySearch란?자바가 제공하는 배열에서 이진 검색을 하는 표준 라이브러리어떻게 사용하는가?static int binarySearch(배열, 검색값)-배열과 검색값은 자료형을 명시해야함결과는 어떻게 나오는가?1. key값과 일치하면 인덱스 반환2. key값과 일치하지 않으면 있어야 할 위치(삽입 포인트)를 추정할 수 있는 값을 음수로 반환장점은?1. 이진 검색 메서드를 직접 작성할 필요가 없음 2. 배열 요소의 자료형과 관계없이 검색 가능문제점은?이진검색과 마찬가지로 맨 앞에 있는 요소의 인덱스를 반..
2024.06.24 -
[알고리즘, 자료구조] 이진 검색
이진 검색이란?데이터가 오름차순 또는 내림차순으로 정렬된 배열에서 검색하는 알고리즘어떤 원리인가?1. 배열의 중앙의 요소(pc)를 기준으로 검색값과 비교 2. 중앙값이 key보다 크면 ? 중앙값~오른쪽 인덱스(pr) 사이의 중앙값을 기준으로 다시 검색값과 비교3. 중앙값이 key보다 작으면 ? 왼쪽 인덱시(pl) ~ 중앙값 사이의 중앙값을 기준으로 다시 검색값과 비교*비교 횟수의 평균값은 log n으로 검색이 훨씬 빠름 작동 원리: 1. 요솟값을 입력받아 빈 배열을 만든다. //요솟값을 입력받는다.Scanner sc = new Scanner(System.in);System.out.print("요솟수(1에서 999까지 입력가능합니다) : ");int n = sc.nextInt();//요솟수만큼의 길이를 ..
2024.06.22 -
모든 거래 내역의 합 계산하기
입출금 내역 분석기 요구 사항 경로CSV + 입출금 내역 분석기 요구 사항https://ycraah.tistory.com/25 기능: 모든 거래 내역의 합 계산하기클래스 이름 : BankTransactionAnalyzerSimple구현 계획: 1. CSV 파일이 존재하는 디렉터리 경로를 변수 RESOURCE에 저장한다. 2. CSV 파일 이름을 사용자가 직접 입력한다. 3. 파일의 내용을 한 줄 씩 읽어 변수 lines에 저장한다. 4. 변수 lines를 반복문을 통해 ' , '을 기준으로 파싱한다.5. 파싱한 내용 중에 금액만 따로 변수 amount에 저장한다. 6. 변수 amount에 저장된 값을 모두 total에 저장하여 합한다. 7. total에 저장된 값을 출력한다. 1. CSV 파일이 존재..
2024.06.21 -
CSV + 입출금 내역 분석기 요구 사항
다음 자료와 요구 사항이 도달하였다. 2024-01-30, -10, 교통비2024-01-30, -20, 수리비2024-02-01, 200, 봉급2024-02-01, 50, 보너스2024-02-02, -50, 월세2024-02-03, -8, 도서비2024-02-03, -60, 보험 위는 은행 거래 내역의 예시이다. 필자가 임의로 작성한 것이지 실제 내역이 아니다!!이 텍스트 파일은 콤마로 분리된 CSV 형식으로 구성되어 있다. *CSV는 몇 가지 필드를 쉼표로 구분한 텍스트 데이터 및 파일을 말한다. 앞에서부터 날짜, 거래 금액(만원), 거래내역 이 순으로 적혀있다. 이를 통해 아래 문제를 해결해야한다. 은행 입출금 내역의 총 수입과 총 지출은 각각 얼마인가? 결과가 양수인가 음수인가?특정 달엔 몇 건의..
2024.06.21 -
[알고리즘, 자료구조] 보초법(sentinel method)
보초법이란? 검색하기 전에 배열 마지막에 값을 저장하는 방법 응용 프로그램 : 배열 앞에서 순서대로 입력된 값을 검색하여 찾는 프로그램 종료 조건 : 1) 검색할 값과 같은 요소를 발견한 경우*선형검색과 달리 for문이 하나로 줄어들어 비용이 50%로 줄어들었다. 구현 방법:1. 요솟값을 입력받는다. 2. 각 배열에 저장될 값을 랜덤으로 입력한다. (for문, random rand = new Random() 이용) 3. 검색할 값을 입력받는다. 4. 검색할 값을 배열 마지막에 저장한다 ==추가==5. 배열, 요솟값, 검색값을 매개 변수로 하는 클래스 메서드 구현6. 클래스 메서드 실행 출력 예시:------------요솟수: 7x[0] : 6x[1] : 4x[2] : 3x[3] : 2x[4] : 1x[..
2024.06.20 -
[Java] LocalDate.parse 메서드 사용법
LocalDate.parse란?LocalDate.parse 메서드는 문자열로부터 LocalDate 객체를 생성하는 데 사용된다. 메서드 요약public static LocalDate parse(CharSequence text) { return parse(text, DateTimeFormatter.ISO_LOCAL_DATE); } public static LocalDate parse(CharSequence text, DateTimeFormatter formatter) { Objects.requireNonNull(formatter, "formatter"); return formatter.parse(text, LocalDate::from);} 이 메서드는 다음과 같은 매개 변수..
2024.06.19