본문 바로가기

Java5

Java는 Stack과 Queue를 ArrayDeque로 써야 하는 이유!! Java ArrayDeque 써야하는 이유 안녕하세요 안드로이드 개발자가 되기 위해 노력하는 서경원입니다. 이해가 안되는 내용이나 제가 잘못 적은 부분이 있다면 꼭 댓글 남겨주세요. ArrayDeque 먼저 ArrayDeque의 특징에 대해 알아보겠습니다. 더블 엔드 큐: 큐(Queue)의 선입선출(FIFO)과 스택(Stack)의 후입선출(LIFO)을 모두 지원하는 자료 구조입니다. 큐의 앞과 뒤에서 원소를 추가하거나 제거할 수 있습니다. 내부 배열 기반: ArrayDeque는 내부적으로 동적 배열(dynamic array)을 사용하여 구현됩니다. 배열은 연속된 메모리 공간에 요소를 저장하므로 인덱스를 이용한 빠른 접근이 가능합니다. 동적 크기 조절: 배열 기반이지만 내부적으로 배열의 크기를 동적으로 조.. 2023. 8. 28.
자바의 HashSet, HashMap 코드와 함께 더 알아보기 자바의 HashSet, HashMap 코드와 함께 더 알아보기 https://www.youtube.com/@ez./videos 유튜브 “쉬운 코드”님의 유튜브를 참고하여 작성합니다. 안녕하세요 안드로이드 개발자가 되기 위해 노력하는 서경원입니다. 이해가 안되는 내용이나 제가 잘못 적은 부분이 있다면 꼭 댓글 남겨주세요. HashSet, HashMap을 알아보기 위해 먼저 Hash에 대해 설명하겠습니다. Hash 란? 어떤 데이터를 고정된 길이의 문자열로 변환하는 함수를 의미합니다. 해시 함수를 통해 일정한 길이의 해시 코드를 출력하고 이 해시 코드를 통해 데이터의 무결성을 검증하거나 검색을 빠르게 하기 위해 사용됩니다. 그러면 Hash를 사용한 자료구조 형태에 대해 알아보겠습니다. 위처럼 나온 해시 코드.. 2023. 8. 26.
코틀린(Kotlin)과 자바(Java)의 차이점 코틀린(Kotlin)과 자바(Java)의 차이점 안녕하세요 안드로이드 개발자가 되기 위해 노력하는 서경원입니다. 코틀린과 자바의 차이점에 알게된 내용을 알려드리려고 합니다. 이해가 안되는 내용이나 제가 잘못 적은 부분이 있다면 꼭 댓글 남겨주세요. 코틀린과 자바에 대해 조금 아시는 분이라면 코틀린이 자바보다 문법이 간결하며 사용이 편해 생산성이 증대되고 Nullable 타입이 존재하기 때문에 널 안정성을 갖고 있다는 것을 알고 계실 것 입니다. 이 부분에 대해 더 자세히 알아보고 다른 장점에 대해서도 설명해드리려고 합니다. 생산성 1. 문법 Kotlin은 세미 콜론을 작성하지 않고 여러 함수들이 사용하기 편하게 작성되어 있습니다. String으로 타입을 변경할 때에도 변수 뒤에 .toString() 만 .. 2023. 6. 1.
백준 자바 14247 나무 자르기 로직은 간단합니다. 초기 나무 길이가 4이고 자라는 길이가 6일 때 만약 5일 후에 자른다면 4 + 6 * 4 로 28이고 5일 후에 다시 자른다면 30만큼을 자르게 되어 총 58만큼 자르게 됩니다. 중간에 자르지 않고 10일 후에 자르게 된다면? 4 + 6 * 9로 똑같이 58만큼 자르게 됩니다. 그러면 굳이 자라는 길이가 제일 긴 나무를 처음에 자를 필요가 없게 됩니다. 자라는 길이가 제일 적은 것부터 자르게 되면 되는 것입니다. 저는 자라는 길이를 정렬해주는 것을 class를 이용하여 정렬 시켜주어봤습니다. public class Baek14247 { public static class ATree{ int Hi; int Ai; } public static void main(String[] args).. 2022. 5. 10.
백준 자바 2775번 일차원 배열만 사용하여 메모리 줄이기 백준 자바 2775번 부녀회장이 될테야 이 문제를 찾아보면 대부분 2차원 배열을 사용하여 푸는 것을 볼 수 있습니다. 1차원 배열만 사용하여 메모리를 줄여서 푸는 방법을 가져왔습니다. 2차원 배열을 사용하는 것보다 메모리는 1000KB 적게 나옵니다. (하지만 만약에 데이터 크기가 크다면 훨씬 더 나겠죠?? 조금이라도 줄여봅시다!) public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWr.. 2022. 1. 26.