loading
본문 바로가기

Java182

[ Programmers ] a와 b 출력하기 ( java ) 2 / 124 [ Programmers ] a와 b 출력하기 ( java ) 2 / 124 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📚 Table of Contents 문제 문제 설명 정수 a와 b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요. 제한사항 -100,000 ≤ a, b ≤ 100,000 입출력 예 문제 풀이 풀이 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Sc.. 2023. 12. 23.
[ Java ] 해시맵 ( HashMap ) [ Java ] 해시맵 ( HashMap ) 📚 Table of Contents 해시맵 ( HashMap ) 이란? 맵 : 키( Key ) 와 값( Value ) 두 쌍으로 데이터를 보관하는 자료구조이다. 해싱( Hashing ) : 키가 해시 함수를 거쳐 해시 코드로 매핑되는 과정 해시 함수( Hash function ) : 임의의길이 데이터를 고정 길이 데이터로 매핑하는 함수 해시맵 특징 Key, Value 두 쌍으로 데이터를 저장한다. Key는 유일해야 한다. ( 중복 X ) 데이터의 검색 속도가 빠르다. 대용량 데이터 관리에 좋다. HashTable vs HashMap HashMap과 사용법이 거의 동일한 컬렉션인 HashTable이 있다. 둘은 같은 자료구조이지만 자바에서 차이가 존재한다. Th.. 2023. 12. 14.
[ 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.