loading
본문 바로가기

자바87

[ Programmers ] _ 기능개발 ( java ) [ Programmers ] _ 기능개발 ( java ) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 Table of Contents 문제 문제 설명 제한사항 입출력 예 문제 풀이 문제 접근 ( 알고리즘 ) 각 기능의 작업 일을 계산 한다. 남은 진도(100 - 현재 진도) % 작업 속도 == 0 인 경우 큐에 ( 작업일 ) 추가 남은 진도(100 - 현재 진도) % 작업 속도 == 0이 아닌 경우 큐에 ( 작업일 + 1 ) 추가 1번 째 기능의 작업 일을 확인한다. q.pool( ) 큐가 빌 때까지 반복, n 번 째 기능의 작업 일을 확인한다. q.. 2023. 12. 12.
[ Java ] 버퍼 ( Buffer ) [ Java ] 버퍼 ( Buffer ) 📚 Table of Contents 버퍼 ( Buffer ) 란? 스트림은 내부에 버퍼( buffer ) 라는 임시 메모리 공간을 가지고 있다. 위키백과 : 버퍼( buffer )는 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역이다. 버퍼는 컴퓨터 안의 프로세스 사이에서 데이터를 이동시킬 때 사용된다. 보통 데이터는 키보드와 같은 입력 장치로부터 받거나 프린터와 같은 출력 장치로 내보낼 때 버퍼 안에 저장된다. 버퍼는 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리 영역으로 입출력 시에 많이 사용된다. 예를 들어 입력 버퍼 사용 시 입력한 데이터가 프로그램으로 바로 전달되는.. 2023. 12. 6.
[ Linear Data Structure ] 해시 테이블 ( Hash Table ) [ Linear Data Structure ] 해시 테이블 ( Hash Table ) 📚 Table of Contents 해시 테이블 ( Hash Table ) 이란? 해시 테이블이란 해시함수를 사용하여 변환한 값을 index로 삼아 (key, value)로 저장하는 자료구조이다. 키를 통해 해당 데이터에 빠르게 접근할 수 있다. 해싱( Hashing ) 해싱이란 key를 특정 계산식인 해시함수( Hash Function )에 넣어 나온 결과를 사용하여 고정된 크기의 값으로 변환하는 작업을 말한다. 해시 테이블 특징 key : 해시 테이블 접근을 위한 입력 값 hash function : 키를 해시 값으로 매핑하는 연산 hash value : 해시 테이블이 인덱스 hash table : key - val.. 2023. 12. 5.
[ Linear Data Structure ] 큐 ( Queue ) [ Linear Data Structure ] 큐 ( Queue ) 📚 Table of Contents 큐 ( Queue ) 이란? 큐는 한쪽 끝에서 삽입되고, 다른 한쪽 끝에서 삭제되는 리스트 구조이다. 큐는 먼저 집어 넣은 데이터가 먼저 나오는 특징이 있다. ( 후입선출 ) 이러한 자료구조를 FIFO ( First In FIrts Out ) 라고 한다. 큐 특징 데이터의 입력, 출력이 정해진 위치에서만 가능하다. 자료 추가( 삽입, 입력 )는 끝( rear )에서 만 가능하다. 자료 반환( 삭제, 출력 )은 처음( front )에서 만 가능하다. 전후 / 선후 관계가 1 : 1 이다. 선형자료구조 이다. 입출력 순서 / 처리 방법에 따라 큐를 구분할 수 있다. 일반적인 큐 ( Genaral Queue.. 2023. 12. 3.
[ Linear Data Structure ] 스택 ( Stack ) [ Linear Data Structure ] 스택 ( Stack ) 📚 Table of Contents 스택 ( Stack ) 이란? 일반적으로, 차곡차곡 쌓아둔 모양 / 형태의 자료구조를 의미한다. 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내는 특징이 있다. ( 후입선출 ) 이러한 자료구조를 LIFO( Last In FIrts Out ) 라고 한다. 스택 특징 후입선출 ( LIFO ) 구조 : 마지막에 들어온 데이터가 가장 먼저 나가는 구조 단방향 입출력 구조 : 데이터의 들어오는 방향과 나가는 방향이 같다. 리스트의 top에서 데이터가 들어오고 나간다. 데이터를 하나씩만 넣고 뺄 수 있다. 추가 ( push ) 삭제 ( pop ) 스택의 TOP, BOTTOM TOP, BOTTOM은 스택의 특정위.. 2023. 12. 2.
[ Linear Data Structure ] 배열 ( Array ) [ Linear Data Structure ] 배열 ( Array ) 📚 Table of Contents 배열 ( Array ) 배열 ( Array )는 동일한 데이터 타입의 요소들을 연속된 메모리 공간에 저장하는 방법이다. 예를 들어 배열이 int 타입인 경우 정수 요소만 저장할 수 있고 그 외 타른 타입의 요소는 저장할 수 없다. 배열을 구성하는 각각의 값을 요소 ( element )라고 하며, 배열의 위치를 가르키는 숫자는 인덱스 ( index )라고 한다. 배열 예시 // 배열 선언 // type[] name = new type[size] int[] arr = new int[5]; // 선언 + 초기화 int[] arr1 = {1, 2, 3, 4, 5}; //elements : 1, 2, 3 ,4.. 2023. 12. 1.
[ BASIC MATH ] 05. 점화식과 재귀함수 [ BASIC MATH ] 05. 점화식과 재귀함수 📚 Table of Contents 점화식 ( Recurrence ) 점화식 이란? 수열의 각 항 간에 관계를, 간단하게 표현하는 관계식 ( 단순 나열이 아닌 규칙으로 ) 수열의 N번째 항을, 그 앞의 항들에 의해, ( 그보다 작은 항에 의해 ) 규칙적 ( 종속적 )으로 표현한 관계식 📒 예시 {an} : 1, 3, 5, 7, 9..... a1 = 1 an+1 = an + 2 점화식 특징 점화식의 구성 형태 등식 또는 관계식 형태를 갖춘다. 단, 문제 제시 때는, 초기갑 또는 경곗값이 반드시 필요하다 점화식이 주는 정보 점화식 자체는 ,간접적이고 부분적인 정보만 준다, 따라서, 일반항을 구할 필요가 있다. 점화식을 풀기 수열의 일반항(general te.. 2023. 11. 28.
[ BASIC MATH ] 04. 조합 ( Combination ) [ BASIC MATH ] 04. 조합 ( Combination ) 📚 Table of Contents 조합 ( Combiantion ) 서로 다른 n개 중에서 r개를 선택하는 경우의 수 ( 순서 X, 중복 X ) 📒 예시 10명중 2명의 공동 대표를 뽑는 경우의 10C2 = 10C8 로또 , 45개의 숫자 중 순서 상관 없이 6개의 숫자를 뽑는 경우의 수 45C6 = 45C39 조합의 중요한 성질 10C2 = 10C8 10! / (10 - 2)! * 2! = 45 10명중 대표 2명을 뽑는 경우의 수 = 10명 중 대표로 뽑히지 않는 8명의 경우의 수 중복 조합 서로 다른 n개 중에서 r개를 선택하는 경우의 수 ( 순서 X, 중복 O ) 📒 예시 사과, 귤, 배 3가지 과일을 8개를 사는 경우 3H8 .. 2023. 11. 28.
[ Java ] 스트림 ( Stream ) [ Java ] 스트림 ( Stream ) 📚 Table of Contents 스트림 ( Stream ) 이란? 스트림(Stream)은 Byte 형태로 데이터를 운반하는데 사용되는 연결통로로써 단방향 통신을 하며, 큐의 FIFO 구조로 되어있다. 또한 입력과 출력을 통시에 수행하려면 입력을 위한 입력 스트림(input stream)과 출력을 위한(output stream), 모두 2개의 스트림이 필요하다. 마지막으로 Source - 입력 스트림 input Stream- 출력 스트림 output Stream- Sink 순서로 데이터가 흐른다. Java에서 스트림(Stream)은 람다를 활용할 수 있는 기술 중 하나이다, 스트림은 `데이터의 흐름` 이다. 배열 또는 컬렉션 인스턴스에 함수 여러 개를 조합해서.. 2023. 11. 23.
[ BASIC MATH ] 02. 경우의 수 _ with java [ BASIC MATH ] 02. 경우의 수 _ with java 📚 Table of Contents 개념 [ BASIC MATH ] 02. 경우의 수( number of cases ) [ BASIC MATH ] 02. 경우의 수( number of cases ) 📚 Table of Contents 경우의 수 1회의 시행을 통해 일어날 수 있는 사건의 가짓수가 N개 일 때, 그 사건의 경우의 수를 N 이라고 한다. 사건 A가 일어날 경우의 leungnyeok.tistory.com 합의 법칙 배열을 이용하여 구현 import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; public class NumberOfCases { p.. 2023. 11. 22.