[JAVA] 선형 검색(Linear Search), 보초법(Sentinel Method)
자료구조 & 알고리즘/알고리즘2023. 1. 26. 01:11[JAVA] 선형 검색(Linear Search), 보초법(Sentinel Method)

Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 선형 검색(순차 검색) 선형 검색은 직선 모양으로 늘어선 배열에서 원하는 키 값을 갖는 요소를 만날 때까지 맨 앞부터 순서대로 요소를 검색하는 것을 말한다. 선형 검색에서 검색의 종료 조건은 아래의 2개와 같다. 검색할 값을 발견하지 못하고 배열의 끝을 지나간 경우 검색할 값과 같은 요소를 발견한 경우 첫 번째 조건이 성립하면 검색 실패, 두 번째 조건이 성립하면 검색 성공이다. 배열의 요솟수가 n개이면 조건 1, 2를 판단하는 횟수는 평균 n/2회이다. public class Main{ static int seqSearch(int[] arr, int key) { for(int i = 0; i < arr.length; ..

[JAVA] 날짜 계산기 알고리즘
자료구조 & 알고리즘/알고리즘2023. 1. 26. 00:22[JAVA] 날짜 계산기 알고리즘

Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 2023.01.01을 기준으로 100일 전은2022년 9월 23일(기준날 미포함)이고, 100일 후는2023년 4월 11일이다. 이러한 알고리즘을 자바로 구현하면 아래와 같다. 클래스 선언부 static class YMD { int year; int month; int day; YMD(int y, int m, int d) //생성자 { this.year = y; this.month = m; this.day = d; } int[][] arr = { {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, //평년 arr[0][] {31, 29, 31, 30, 31, 30, 31, 31, 3..

[JAVA] 클래스 배열
자료구조 & 알고리즘/자료구조2023. 1. 25. 01:29[JAVA] 클래스 배열

Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 클래스 배열이란 클래스로 부터 만들어진 객체로 이루어진 배열을 뜻한다. 클래스 자체가 자료형이되어서 데이터를 더 쉽게 다룰 수 있다. 아래는 이름, 키, 시력을 저장하는 클래스의 객체로 이루어진 배열을 활용하여 평균 키와 시력 분포를 출력하는 예제 코드이다. public class Main{ static class PhyscData { //이름, 키, 시력을 저장하는 클래스 String name; int height; double vision; PhyscData(String name, int height, double vision) { //생성자 this.name = name; this.height = height; t..

[JAVA] 한 해의 경과 일 수 / 남은 일 수를 계산하는 알고리즘
자료구조 & 알고리즘/알고리즘2023. 1. 25. 00:10[JAVA] 한 해의 경과 일 수 / 남은 일 수를 계산하는 알고리즘

Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 4월 15일을 예로 들면 그 해의 경과 일수를 구하면 아래와 같다. 1월의 일 수 + 2월의 일 수 + 3월의 일 수 + 15 m월 d일의 그 해 경과 일수는 아래와 같다. 1, 2, ..., m-1월의 일 수의 합 + d 그런데 2월의 일 수는 평년은 28일, 윤년은 29일로 해에 따라 달라진다. 윤년, 평년 지구가 태양 둘레를 한 바퀴 도는 일수는 정확히 365일이 아니다. 이를 조정하기 위해 4로 나누어 떨어지는 해를 윤년으로 하여 1년을 366일로 한다. 하지만 그래도 정확하기 않으므로 아래와 같은 규칙을 적용한다. -해당 연도를 4로 나누어 떨어지면 우선 윤년으로 하고 -윤년 중에서 100으로 나누어 떨어지면 ..

금융용어정리 - 주식발행초과금
금융 & 경제2023. 1. 24. 03:57금융용어정리 - 주식발행초과금

본 게시글은 유튜브 : 경제 TV 너무경 : 너무 쉬운 경제 윤성종 님의 유튜브 영상을 참고하였습니다. 개인적으로 정리하는 글임을 알립니다. 금융용어정리 - 주식발행초과금 주식발행초과금 액면가와 발행가의 차이 금액을 뜻한다. 액면가가 500원이고, 발행가를 2000원으로 책정했다면 차이 금액인 1500원이 주식발행 초과금이다. 이때, 주식을 1만 주 발행했다면 주식발행초과금은 1500원 X 1만 주 = 1500만 원이다. 주식발행초과금은 영업을 통하여 얻은 이익잉여금이 아니라 주주들과의 거래를 통해 얻은 자본잉여금이다. 주식발행초과금의 사전적 정의 주식의 액면금액을 초과하여 발행한 경우 발행금액과 액면금액의 차액이다. 이는 감자차익, 자기주식처분이익 등의 기타 자본잉여금과 함께 자본잉여금의 구성항목이며,..

[JAVA] n이하의 소수를 구하는 알고리즘
자료구조 & 알고리즘/알고리즘2023. 1. 24. 01:00[JAVA] n이하의 소수를 구하는 알고리즘

Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 소수 소수는 자신과 1 이외의 정수로 나누어떨어지지 않는 정수이다. 예를 들어 소수 13은 2, 3, ..., 12 가운데 어떤 정수로도 나누어 떨어지지 않는다 그러므로 어떤 정수 n에 대하여 아래의 조건을 만족하면 소수임을 알 수 있다. "소수 n은 2부터 n-1까지의 어떤 정수로도 나누어 떨어지지 않는다." 만약 나누어 떨어지는 정수가 하나 이상 존재하면 그 수는 합성수이다. n 이하의 소수를 나열하는 알고리즘 (시간복잡도 높음, 공간복잡도 낮음) static void PrimeNumber(int n) { for(int i = 2; i

[JAVA] Date, Calendar, LocalDateTime 클래스 (날짜와 시간 클래스)
Language/Java2023. 1. 24. 00:01[JAVA] Date, Calendar, LocalDateTime 클래스 (날짜와 시간 클래스)

본 게시글은 혼자 공부하는 자바 (저자 : 신용권)의 책과 유튜브 영상을 참고하였고, 개인적으로 정리하는 글임을 알립니다.클래스설명Date날짜 정보를 전달하기 위해 사용Calendar다양한 시간대별로 날짜와 시간을 얻을 때 사용LocalDateTime날짜와 시간을 조작할 때 사용 Date 클래스Date는 날짜를 표현하는 클래스로 객체 간에 날짜 정보를 주고받을 때 사용된다. Date 클래스에는 여러 개의 생성자가 선언되어 있지만 대부분 Deprecated(더 이상 사용되지 않음)되어 Date() 생성자만 주로 사용된다.Date() 생성자는 컴퓨터의 현재 날짜를 읽어 Date 객체로 만든다.import java.text.SimpleDateFormat;import java.util.Date;public cl..

금융용어정리 - 권리락(신주배정기준일, 권리락기준가, 권리락적용일)
금융 & 경제2023. 1. 23. 23:54금융용어정리 - 권리락(신주배정기준일, 권리락기준가, 권리락적용일)

본 게시글은 유튜브 : 경제 TV 너무경 : 너무 쉬운 경제 윤성종 님의 유튜브 영상을 참고하였습니다. 개인적으로 정리하는 글임을 알립니다. 금융용어정리 - 권리락(신주배정기준일, 권리락기준가, 권리락적용일) 권리락 무상증자와 유상증자 등으로 인하여 신주배정일 이후에 주주 명부에 기재되어 신주인수권 등이 없어진 상태를 뜻한다. 신주 배정일 이전에 주식을 산 주주들에게는 신주인수권이 포함되어 있지만 이후에 주식을 산 주주들에게는 신주인수권이 없기 때문에 그만큼 저렴한 가격에 주가(권리락 기준가)를 책정하는 것이다. 쉽게 말하자면 기존 주가가 5천원이었는데 이 5천원에는 신주를 배정받을 권리가 있지만, 신주배정기준일 이후 주주 명부에 등재된 주주는 신주를 배정받을 권리가 없으므로 그만큼 저렴한 주가에 매도할..

image