우리가 자료구조를 생각하면 무엇이떠오를까? 스택(Stack), 큐(Queue), 트리(Tree), 힙(Heap) 등 여러가지 자료구조를 생각해볼수 있다 그러면 우리는 자료구조를 왜쓸까? 이는 우리가 데이터를 꺼내거나, 넣을때 사용에맞는, 용도에맞는 자료구조를 사용하여 효율적으로 간편하게 구현하기 위해서일것이다 이번에는 여러가지 자료구조중 스택(Stack)의 특성에 대해서 알아보고 실제로 구현해보도록 하자 스택(Stack) 의 특징 우선 스택은 쌓다라는 의미를 가지고있고 선출후입(Last In First Out)이라는 특성을 가지고있다 쉽게말해 나중에 들어온게 먼저 나간다는 의미이며, 상자에 책을 적재한뒤 다시꺼낼때는 위에서 부터 꺼내는것과 같은 특성을 가지고있다 사용처는 ' 가장 최근에 수행했던 기능 '..
우리가 프로그래밍을 접하면서 한번쯤은 들어봤을 단어인 Array 그리고 ArrayList와 LinkedList 이것들이 무엇인지 장점과 단점은 뭐고 주로 어디에 쓰이는지 알아보도록 하자 Array Array는 흔히들 알고있는 배열이다 같은 타입의 데이터를 여러개 저장해야할때 순서대로 값을 저장하며, 중복을 허용한다 또한 index를 이용해서 특정위치에 있는 데이터를 얻을수있으며, 속도가 빠르다는 장점을 가진다 그리고 1차원, 2차원 같이 다차원 배열을 사용할수있다 위사진은 배열을 그림으로 좀더 쉽게 분석한것인데 배열의 크기를 10으로 잡으면 첫 index는 0부터 시작해서 9까지 총 10개의 공간이 만들어진다 length는 10이며 index를 이용해서 해당공간에 있는 데이터를 쉽게 찾아낼수 있다 이처럼..
오늘은 Java에서 쓰이는 String과 StringBuilder, StringBuffer의 차이점에 대해서 알아보자 String에 대해서 알아보기 우선 차이점을 알아보기 앞서 자바는 크게 2가지의 타입이있는데 참조형타입, 기본형타입 이라고한다 기본형은 boolean, char, byte, short, int, long, float, double 이렇게 8가지를 가지고있다 그외에는 모두 참조형타입이라고 보면된다 기본형과 참조형은 둘다 무엇인가를 저장하는 공간이지만 미묘하게 다르다 기본형은 우선 기본적으로 실제로 있는값인 리터럴(13, false, A)를 저장하고 참조형은 주소값을 저장한다 주소값이 무엇이냐면 보통 우리가 변수를 만들고 안에 값을저장하면 메모리에 저장공간에 할당되고 그곳에값이들어간다 기본형..