본문 바로가기

웹 개발/java9

[java] Stack (스택) 사용하기 📌Stack 알아보기 ◾Stack 이란 '쌓다'의 뜻을 가진 용어로, 접시를 쌓아 놓은 형태와 유사한 자료구조이다. 데이터를 한 방향으로 순서대로 쌓고, 꺼내는 구조이다. 가장 나중에 들어간 데이터를 가장 먼저 꺼낸다. (LIFO: Last In First Out) ◾Stack 특징 - 후입선출(LIFO): 나중에 들어온 데이터가 가장 먼저 나가는 구조이다. (Comparable인터페이스 또는 별도의 Comparator를 사용하여 지정이 가능하다.) - 단방향 입출 구조: 데이터를 한 쪽 끝에서만 접근할 수 있다. 이 접근 포인트를 'Top'이라 한다. - 빠른 작업 속도: 데이터의 추가와 제거가 상수 시간(O(1))에 이루어져, 스택은 빠른 작업 속도를 제공한다. - 제한된 접근: 스택은 가장 최근에 .. 2024. 2. 18.
[java] PriorityQueue 우선순위 큐 사용하기 📌PriorityQueue 알아보기 ◾PriorityQueue 란 우선순위를 기반으로 요소들을 저장하고 관리하는 자료구조이다. 큐(Queue)의 일종으로, 각 요소는 특정 순서에 따라 우선순위를 갖게 되며, 우선순위가 높은 요소가 먼저 처리된다. ◾PriorityQueue 특징 - 우선순위: 각 요소는 우선순위를 가지며, 기본적으로 작은 값이 높은 우선순위를 나타낸다. (Comparable인터페이스 또는 별도의 Comparator를 사용하여 지정이 가능하다.) - 최소 힙 구조: PriorityQueue는 일반적으로 최소 힙(Main Heap)구조로 구현되어 있다. - 삽입 및 삭제: 요소는 삽입될 때 우선순위에 따라 정렬되며, 가장 우선순위가 높은 요소가 항상 루트에 위치한다. - 시간복잡도: 요소 삽.. 2024. 2. 17.
[java] Map 특징 + 사용법 📌Map 알아보기 ◾Map이란 자바에서 Map은 키와 값을 쌍으로 저장하는 자료구조를 나타낸다. 인터페이스를 구현하는 클래스로는 대표적으로 HashMap, TreeMap, LinkedHashMap 등이 있다. ◾Map 특징 - Map 인터페이스를 구현한 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식을 사용한다. - 요소의 저장 순서를 유지하지 않는다. - key는 중복을 허용하지 않고, value는 중복을 허용한다. - 동일한 key값으로 넣을 시 최근에 넣은 값이 적용된다. 💡HashMap은 저장 순서를 유지하지 않으나, LinkedHashMap은 저장된 순서를 유지한다. 순서가 중요한 경우에는 LinkedHashMap을 사용하는 것이 좋다. ◾Map(HashMap) 사용하기 본 글에서는 가장 많이.. 2024. 2. 16.
Java #4 상수란? ◾상수란? 상수(常數)란 수식에서 변하지 않는 값을 의미한다. 이렇게 변하지 않는 값은 자바에서 final이라는 예약어를 사용하여 선언한다. ◾상수를 사용하는 이유 상수를 사용하면 변하지 않는 값을 반복하여 사용할 때 의미있는 문자로 인식하기 쉽고, 혹시 상수 값을 변경해야 한다고 해도 선언한 부분 한 곳만 변경하여 수정할 수 있어 유지보수가 편해진다. 또 값이 변하면 위험한 경우에 상수를 사용하여 막을 수 있다. 코드에서 값을 보았을 때 의미하는 바를 쉽게 파악할 수 있음 (가독성↑) 값이 수정되더라도 한 곳만 수정해주면 됨 (유지보수 ↑) 값이 변하지 않게 보호해야하는 경우 아래 예제를 보면 더 이해하기 쉬울 것이다. ◾상수 선언하기 상수는 fianl을 사용하여 선언한다. 아래에서는 선언과 동시에 초.. 2023. 11. 26.
[java] char형의 값이 0인지 확인할 때 (char형을 정수값과 비교할 때) char형의 문자와 0 비교하기 char형의 값이 0인지 확인하는 것을 알아보고자 한다. 이는 단순히 생각하는 것처럼 '비교할 문자' != 0 과 같이 할 수 없는 것이 우리가 생각하는 '0'은 정수형의 값이고 비교할 문자는 char형이기 때문이다. 알고리즘 문제 풀이를 하다가 이 문제를 마주쳤다. 프로그래머스의 369 문제를 푸는데 char의 값이 0이 아니면서 + 3으로 나눈 나머지가 0이면 => 3,6,9에 해당한다 의 로직으로 코드를 짰는데 원하는대로 실행이 되지 않았다. 초기코드 int num = 2346809; int answer = 0; String str = Integer.toString(num); for (int i=0;i 2023. 6. 5.
Java #4 변수 📌변수 ◾변수란? 값(data)을 저장할 수 있는 메모리의 공간을 의미한다. 데이터를 저장하기 위해 프로그램에 의해 이름을 할당받는 메모리 공간을 의미한다. ◾변수의 선언 1. 변수 선언하기 타입 변수이름; int count; double area; 정수 값을 담을 수 있는 count라는이름의 변수와 실수 값을 담을 수 있는 area라는 변수를 선언하였다. int, double과 같은 것을 타입이라하고, 한 칸을 띄고 뒤에 변수의 이름을 사용자가 지정하면 된다. 2. 변수 선언과 초기화 방법 //방법1 int count1 = 100; //방법2 int count2; count2 = 100; 방법1 count1처럼 변수의 선언과 동시에 초기화를 할 수도 있고, 방법2 count2처럼 선언을 한 뒤 나중에 .. 2023. 6. 1.

/* 내가 추가한 코드 */ /* 내가 추가한 코드 끝끝 */