일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 공부정리
- 자료구조 트리
- 카카오기출
- 개발상식
- 백준 1000번 java
- 코테준비
- 카카오1차
- 힙정렬자바
- 백준 1000번
- 문자열포맷
- 백준 1924번
- 객체프로그래밍
- 자바
- java method
- heap
- 자료구조힙
- java
- heap정렬
- 카카오코테
- 카카오코딩테스트
- 프렌즈4블록
- 프로그래머스
- 객체프로그래밍이란
- 백준 1924번 java
- 코딩테스트기출
- Java heap
- 프렌즈4블록java
- 자바문자열
- 알고리즘
- Today
- Total
목록전체 글 (96)
일단 시작해보는 블로그
C++로 작성된 오픈소스 문서지향(Document-Oriented)적 Cross-platform 데이터베이스이며, 뛰어난 확장성과 성능을 자랑한다. 현존하는 NoSQL 데이터 베이스 중 인지도 1위를 유지하고 있음. NoSQL? -> SQL이 no가 아니라, Not Only SQL이다. 기존의 RDMS의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터저장소이다. 관계형 DB가 아니므로, RDMS처럼 고정된 스키마 및 JOIN이 존재하지 않는다. Document? -> RDMS에서의 record와 비슷한 개념. 이의 데이터 구조는 한개이상의 key-value pair으로 이뤄져 있다. 예를 들면 다음과 같다. { "_id" : ObjectId("5099803df3f4948bd2f98391"), "use..
우리집은 아침 6시면 알람시계가 울린다. 엄마가 일어나시고 아빠도 일어나신다. 부모님이 일찍일어나시는 까닭에 나도 일찍 일어나는 버릇이 있었다. 어떤 때는 더 일찍일어나고 싶어서 몇 주 동안 아침 4시에 일어나곤 했었다. 하지만 그 때는 일어나서 뭘 엄청 해야하는 그런 열정이 없었고 너무 어렸기 때문에 별 효과는 없었고 다시 제자리로 돌아갔다. 하지만 이 경험에서 확실히 느낀게 있다면 남들보다 일찍 하루를 시작한다는 것이 몸이 더 가벼웠고 앞서가는 느낌은 들었다. 나는 잠이 다 깨서 멀쩡한데 그제서야 해가 뜨고 있고 새소리, 새벽의 시원한 공기,, 기분이 확실히 좋았다. (물론 아침 9시부터는 너무 졸렸다..) 이 기분이 나한테는 매우 인상적이었다. 따라서 요즘 나는 새벽 5-6시에 기상하는 중이다. 예..
힙정렬 알고리즘은 입력받은 숫자를 최대 혹은 최소 힙 구조로 만들고 현재 값 중에 가장 큰값 혹은 작은 값을 루트로부터 추출하여 큰값부터 차례대로 뽑아 정렬문제를 해결하는 알고리즘이다. 아래 동영상이 도움이 많이 됐다아ㅏ.!!! LOGIC 1. 배열에 담기 2. max-heapify 3. 1번노드와 마지막 노드 exchange 4. 마지막 노드를 arraylist에 따로 담기, heap크기 = heap크기 -1 package data_structure; import java.util.ArrayList; // max heap! public class HeapSort { static ArrayList sortArr = new ArrayList(); static int[] swap(int[] a, int m,..
REST는 Representational State Transfer의 약자로서, 월드와이드웹(www)와 같은 하이퍼 미디어 시스템을 위한 소프트웨어 아키텍쳐 중 하나의 형식이다. REST 서버는 클라이언트로 하여금 HTTP 프로토콜을 사용해 서버의 정보에 접근 및 변경을 가능케 한다. 여기서 정보는 text, xml, json 등 형식으로 제공되지만 요즘 트렌드는 json이다.!.! HTTP메소드 HTTP/1.1에서 제공되는 메소드는 여러개가 있지만 REST 기반 아키텍쳐에서 자주 사용되는 4가지 메소드는 다음과 같다. 1. GET : 조회 2. PUT : 생성 및 업데이트 3. DELETE : 제거 4. POST : 생성 다음은 user.json을 기반으로 restful api를 작성한 router.j..
모듈 : 기본적으로 제공하는 기능 뿐 아니라 추가적으로 기능을 사용할 때 가져다 쓸 수 있는 라이브러리 1) 내장 모듈 : node.js에서 제공하는 모듈 2) 확장 모듈 : node.js 사용자들이 만들어낸 모듈 미들웨어 : 구조 내에서 중간 처리를 위한 함수(함수들의 꾸러미가 모듈) 1) express 프레임워크에서 사용할 수 있는 중간 처리 목적의 소프트웨어 : 기본적인 express 구조 내에서 처리 목적으로 사용 2) 요청에 대한 응답을 완수하기 전까지 중간중간 다양한 일을 처리할 수 있음. 3) 미들웨어 함수 생명주기 : request - response 응답을 주기로 종료 4) 미들웨어 함수 우선순위 : 먼저 로드되는 미들웨어 함수가 먼저 실행됌.(코드 순서 중요) /* app.js */ v..
힙구조는 우선순위 큐를 위하여 만들어진 자료구조라고 한다. 자료구조 '힙(heap)' 이란? 완전 이진 트리의 일종으로 우선순위 큐를 위하여 만들어진 자료구조이다. 여러 개의 값들 중에서 최댓값이나 최솟값을 빠르게 찾아내도록 만들어진 자료구조이다. 힙은 일종의 반정렬 상태(느슨한 정렬 상태)를 유지한다. 큰 값이 상위 레벨에 있고 작은 값이 하위 레벨에 있다는 정도 간단히 말하면 부모 노드의 키 값이 자식 노드의 키 값보다 항상 큰(작은) 이진트리를 말한다. 힙 트리에서는 중복된 값을 허용한다. (이진 탐색 트리에서는 중복된 값을 허용하지 않는다.) 힙의 종류 최대힙 (max heap) - 부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진 트리 - key(부모노드) >= key(자식노드..
트리는 노드(자료 저장)와 간선(노드 연결)을 갖는 계층구조이다. 즉, 부모-자식(Parent-Child 관계) 1:n 관계 (여기서 1은 Root Node, n은 Root를 제외한 나머지 자식 노드 즉, n은 레벨이 1이상인 노드이다.) 트리는 응용프로그램, 알고리즘에서 자주 쓰인다. 트리의 종류 자식의 개수에 따라 binary tree : 최대 2개 자식 ternary tree : 최대 3개 부모를 기준으로 binary tree : 부모를 기준으로 노드의 숫자가 기준 없이 자유롭다. binary search tree : 부모를 기준으로 왼쪽은 부모보다 작아야하고 오른쪽은 큰 더 커야한다. complete binary tree : 레벨이 다 맞고 왼쪽부터 채워져 있는 트리 full binary tree..
뒤에서 부터 계산을 해주기 위해서 자료구조는 스택을 사용했고 점수, 등급, 보너스를 따로 저장해서 하나씩 꺼내서 계산했다. ** 처음에 rank인 S, D, T를 입력받을 때, String으로 할당했다가 오류가 났다. 그 이유는 당연히 글자 하나씩 있으면 데이터타입을 char로 생각하기 때문에 문자열 비교를 ex) char a = 'a'; char b = 'b'; a.equals(b); //노노노!!에러남 a == b 혹은 a != b 이렇게 비교해야함. package codingTest; import java.util.Stack; public class kakao_dart { public static void main(String[] args) { System.out.println(solution("1..