이유's Programming/Java
Java 람다에 관하여!
JAva 에서 중요한 기능 중 하나 람다는 어떻게 쓰는 것일까요? 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어입니다.현재 사용되고 있는 람다의 근간은 수학과 기초 컴퓨터과학 분야에서의 람다 대수이다. 람다 대수는 간단히 말하자면 수학에서 사용하는 함수를 보다 단순하게 표현하는 방법입니다. 익명함수?익명함수란 말그대로 함수의 이름이 없는 함수입니다. 익명함수들은 공통으로 일급객체(First Class citizen)라는 특징을 가지고 있습니다.이 일급 객체란 일반적으로 다를 객체들에 적용 가능한 연산을 모두 지원하는 개체를 가르킵니다. 함수를 값으로 사용 할 수도 있으며 파라메터로 전달 및 변수에 대입 하기와 같은 연산들이 가능합니다...
Two Sum - LeetCode
투 썸 구하는 방법 우선 이중 for 문으로 구하는 방법... 간단하게... nums 안에 들어가는 i 와 j 를 구분해서 하기. class Solution { public int[] twoSum(int[] nums, int target) { int nums_length = nums.length; for(int i=0; i < nums_length - 1; ++i){ for(int j=i+1; j < nums_length; ++j){ if(nums[j] == target - nums[i]){ return new int[]{i,j}; } } } return new int[2]; } } public class Main { public static void main(String[] args) { System...
[ 자료구조 ] LinkedList 공부
자료구조 일반적인 LinkedList 에 대해서 공부해보겠습니다. 아래의 코드와 같이 연결이 되어잇는 것을 LinkedList 로 구현될 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package com.allendowney.thinkdast; /** * @author downey * */ public class ListNode { public Object data; public ListNode next; public ListNode() { this.data = null; this.next = null; } public ListNode(Object data) { this.data = d..
[ 알고리즘 ] 선택 정렬 / 빅오 표기법
오늘 할 포스팅은, 정렬 중 대표적인 정렬인 선택 정렬과 이를 수행하는 시간에 대한 시간 복잡도를 나타내는 [빅오 표기법] 에 대한 내용입니다. 알고리즘은 크게 몇 가지의 범주로 나뉩니다. 1. 상수시간 : 실행시간이 입력 크기에 의존하지 않으면 알고리즘은 상수시간을 따른다고 함. (ex. 1/ 정말 상수 ) 2. 선형 : 실행시간이 입력의 크기에 비례하면 알고리즘은 [선형] 이라고 함. ( ex) 2n -1 ) 3. 이차 : 실행시간이 n2 에 비례하면 이 알고리즘을 이차라고 합니다. ( e.x) for 문 안에 for 문이 들어가는 경우 ) ... 등 2.1 선택정렬이란 ? 선택정렬은 어떤 요소를 선택해서 가장 작은 value 를 찾아 그 index 에 넣는 정렬 알고리즘을 의미합니다. 아래와 같은 ..
Java input vs output System
자바는 Stream 이라는 데이터의 흐름으로 관리한다! inputStream 이랑 outputStream 등으로 데이터의 흐름을 관리하는데 크게 2가지의 방법이 있다. 첫 번째의 방안은, byte 단위로 받는 것 이 경우에는 멀티미디어, 사진, 등을 모두 받을 수 있다. example ) FileInputStream, FileOutputStreaam 두 번째의 방안은, 문자 그대로 받는 것 이 경우에는, 기본적인 문자만 받을 수 있다. example) FileReader, FileWriter 이러한 두가지의 방안을 통해서 기반 스트림
Java input vs output System
자바는 Stream 이라는 데이터의 흐름으로 관리한다! inputStream 이랑 outputStream 등으로 데이터의 흐름을 관리하는데 크게 2가지의 방법이 있다. 첫 번째의 방안은, byte 단위로 받는 것 이 경우에는 멀티미디어, 사진, 등을 모두 받을 수 있다. example ) FileInputStream, FileOutputStreaam 두 번째의 방안은, 문자 그대로 받는 것 이 경우에는, 기본적인 문자만 받을 수 있다. example) FileReader, FileWriter 이러한 두가지의 방안을 통해서 기반 스트림