일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 문자열포맷
- 객체프로그래밍
- heap정렬
- 카카오코딩테스트
- 백준
- 코딩테스트기출
- 자바문자열
- 카카오코테
- 프렌즈4블록
- heap
- java
- 자바
- 공부정리
- 자료구조힙
- 프로그래머스
- Java heap
- 힙정렬자바
- 백준 1924번 java
- 백준 1924번
- 알고리즘
- 객체프로그래밍이란
- 프렌즈4블록java
- 개발상식
- 백준 1000번
- 카카오1차
- 자료구조 트리
- 백준 1000번 java
- java method
- 코테준비
- 카카오기출
- Today
- Total
목록전체 글 (96)
일단 시작해보는 블로그
Map 자바에서 Map이라는 인터페이스는 'match'의 의미와 비슷하다고 생각하면 된다. Map에 저장되는 데이터는 'key-value' pair라는 형식을 갖고 있다. 또, 특정 데이터를 찾을 때는 key를 이용해서 검색한다. 마치 주민등록번호를 입력하면 그에 매칭되는 사람의 이름을 일 수 있는 것처럼. Map은 인터페이스로 구현되어있고 가장 많이 쓰이는 클래스는 HashMap, TreeMap, LinkedHashMap이다. 데이터와 중복된 키와 값을 저장하면, 기존의 값은 없어지고 마지막에 저장된 값이 남게 된다. 해싱 (Hashing) 해싱(Hashing)이란 해시함수(hash function)를 이용해서 데이터를 해시테이블(hash table)에 저장하고 검색하는 기법을 말한다. HashMap ..
1. 해쉬는 왜 생겼지? 가장 기본적인 자료구조인 배열의 경우 내부 인덱스를 이용하여 자료의 검색이 한번에 이루어지기 때문에 빠른 검색 속도를 보이는 반면 데이터의 삽입, 삭제 시 많은 데이터가 밀리거나 빈자리를 채우기 위해 이동해야 하므로 많은 시간이 소요된다. 또, 연결리스트는 삽입, 삭제 시 인근 노드들의 참조값만 수정해줌으로써 빠른 처리가 가능했지만 처음노드 마지막 노드 이외의 위치에서 데이터를 삽입, 삭제할 경우나 데이터를 검색할 경우에는 해당 노드를 찾기 위하여 처음부터 순회검색을 해야하기 때문에 데이터의 수가 많아질수록 효율이 떨어질 수 밖에 없는 구조였다. 이를 극복하기 위해 제시된 방법이 해쉬(Hash)이다. 2. 해쉬의 기본 개념 해쉬는 내부적으로 배열(Hash Table)을 사용하여 ..
큐(Queue)는 줄(line)이라는 의미를 가지고 있다. 먼저 들어간 데이터가 가장 먼저 출력되는, 선입선출(FIFO - First In First Out) 형태의 자료구조이다. 가장 오래전에 입력된 데이터(나갈 차례가 가장 빠른, 데이터 삭제) : front 가장 최근에 입력된 데이터(이제 들어온, 들어오는 곳, 데이터 삽입) : rear -> 따라서 큐를 구현하기 위해서는 front와 rear를 관리하는 배열을 이용하거나, front노드와 rear노드를 관리하는 연결 리스트를 이용할 수 있다. 큐의 동작 insert(삽입), remove(추출, 삭제), peek(읽기) 1) 삽입 - insert 새로운 데이터의 삽입은 리스트의 끝 부분을 가리키는 rear에서 발생하며, 데이터가 삽입 될 때 하나 증..
자료의 특성과 크기, 주요 사용법과 수행하는 연산의 종류, 구현에 필요한 기억 공간 크기에 따라서 여러 가지 종류의 자료구조 중 하나를 선택할 수 있다. 종류로는 단순 구조와 자료 간 관계가 1대 1인 선형 구조, 1대 다 혹은 다 대 다 구조인 비선형 구조, 마지막으로 파일구조가 있다. 구현에 따른 분류 배열 : 가장 일반적인 구조로 메모리 상에 같은 타입의 자료가 연속적으로 저장된다. 자료값을 나타내는 가장 작은 단위가 자료를 다루는 단위 이다. 튜플 : 둘 이상의 자료형을 묶음으로 다루는 구조 연결 리스트 : 노드를 단위로 한다. 노드는 자료와 다음 노드를 가리키는 참조 값으로 구성되어 있다. 노드가 다음 노드로 아무것도 가리키지 않으면 리스트의 끝이다. 원형 연결 리스트 : 각 노드는 다음 노드를..
점화식 : d[자리수N][자리수가_N일때_시작하는수] = d[자리수N-1][k] (시작하는 수
생각해보기 d[1] = d[0]; //d[1] = 1 d[2] = d[2-1] + d[2-2]; //d[2] = 2 d[3] = d[3-1] + d[3-2] + d[3-3]; //4 d[4] = d[4-1] + d[4-2] + d[4-3]; //4+2+1 d[5] = d[5-1] + d[5-2] + d[5-3]; //7+4+2 전체 코드 package dp; import java.util.Scanner; public class backjoon_9095 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); int n = 0; int[] d = new int[11]; //n은 양수..
[메디치강연] 지금 내가 무엇을 즐겨보느냐에 따라 10년 후가 바뀌어요 - 박웅현 광고인 https://www.youtube.com/watch?v=BEkYBwgXPLw 나는 평소 시간만 남으면 인스타그램과 페이스북의 피드를 아무 생각없이 내려보는 것이 일상이었다. 피드를 내려보는게 '취미'가 아니라 그저 습관이었던 것 같다. 아무 생각없이 아무런 감동도 없이 내려보고 세뇌 당하듯 광고에 이끌리고 '아 저 곱창 먹고 싶다.' 그러다가 약속이 생기면 뇌 속에 무의식적으로 서성이던 그 곱창을 먹으러 간다. 맞다. 세뇌당했고 그렇게 살고 있었다. 물론 이런 생활을 계속 하면 내 시간을 버리는 것이라고 생각했었고 보면 사고싶고 가고싶고 사먹고싶고 그렇게 될 것이라는 걸 잘 알았는데도 습관이 되어버렸고 중독이 되어..
C언어에서 출력을 담당하는 printf() 함수와 같이 Java에서도 동일한 기능을 제공하는 메소드들이 존재한다. JAVA 문자열 포맷 String 클래스의 format() : String.format() PrintWriter 클래스와 PrintStream 클래스의 printf() 메소드 : System.out.printf() String.format()은 결과값으로 포맷팅된 문자열을 반환하고 System.out.printf()는 포맷팅된 값을 출력해준다. 예시 포맷 명세자 (Format Specifier) 형식 : %[인자순서$][플래그][너비][정밀도]데이터타입 1. 데이터 타입 일반적으로는 이거만 외우면 된다. 정수 : %d 실수 : %f 문자열 : %s 불리언 : %b 2. 인자순서$ argume..