분류 전체보기
-
[JAVA] 자료구조 Heap & Heap sort (힙 & 힙 정렬) + 구현알고리즘/개념 정리 2024. 2. 23. 18:00
Heap 자료구조 란? - 데이터에서 최댓값 과 최솟값을 빠르게 찾기 위해 고안된 완전 이진 트리 시간 복잡도 : O(logN) 이진 트리의 개념 - node : 각각의 값을 노드라고 부름 - root : 뿌리 노드, 레벨 0, 가장 최상단 노드로 부모 노드가 존재하지 않는 노드 - parent node : 부모 노드, 아래에 자식 노드를 가지고 있는 노드 - child node : 부모 노드로 뻗어나온 하위 노드 완전 이진 트리의 일종으로, 왼쪽으로부터 자료구조를 채워나가는 형태 오른쪽은 비어있는 경우가 있을 수 있음 1차원 배열로 나타낼 수 있음 -> 정렬이 가능한 이유 배열로 구현 시에, 인덱스 1로 시작하는 것으로 구현하면 편리함 (0으로 시작해도 무관) 중복 값 허용 (부모 노드의 인덱스) = ..
-
[Window] IntelliJ 인텔리제이 설치개발 도구 설치 2024. 2. 9. 18:00
InteliJ 란? JetBrains사에서 제작한 상용 자바통합 개발 환경이다. 줄여서 IntelliJ 혹은 IDEA로도 불린다. 이클립스 재단의 이클립스와 썬 마이크로시스템즈의 넷빈즈로 대표되는 무료 자바 통합개발환경에서 볼랜드(/코드기어)의 제이빌더(JBuilder)와 함께 얼마 안 되는 상용 개발 도구 가운데 하나이다. 출처) 위키백과 InteliJ 설치 1. InteliJ 다운로드 하기 다운로드 하기 링크를 누르게 되면 위와 같은 페이지 메인이 뜨는데 다운로드를 눌러서 아래의 페이지로 들어간다. 인텔리제이 Ultimate 는 유료버전, 30일 무료평가판을 제공하고 더 많은 기능이 탑재 됨 인텔리제이 Community 는 무료 버전 위와 같이 윈도우 / 맥 / 리눅스로 나누어져있고 해당하는 옵션을 ..
-
[Window] Spring Tool Suite 4 (sts4) 설치개발 도구 설치 2024. 1. 29. 18:00
Spring Tools Suite (STS) 란? Spring Framework 를 지원하는 IDE 개발 툴중 하나로 Java 기반의 웹 서비스 어플리케이션 구축을 쉽게 할 수 있도록 도와주는 개발 도구 그냥 Eclipse 에서 Spring Framework 를 사용할 때는 별도의 Tomcat Server 를 설치하여 가동해야하지만, STS 의 경우에는 Tomcat Server 를 내장하고 있어 별도의 서버 설치가 필요없이 간단하게 웹 어플리케이션을 작동해볼 수 있게 되는 것이다. Spring Tools Suite 4 설치 1. Spring Tools 4 다운로드 홈페이지에 접속하면 이렇게 3가지 버전이 있는데, 원하는 것으로 다운받으면 된다. Eclipse(이클립스) 도구를 base 로 배웠기 때문에 ..
-
[Window] Docker / Docker Desktop 설치 (WSL 2)개발 도구 설치 2024. 1. 28. 19:00
도커 Docker 란? 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다. 도커 웹 페이지의 기능을 인용하면 다음과 같다 : 출처) 위키백과 Docker Docker 설치 더보기 1. Windows PowerShell 을 관리자 모드로 열기 2. 아래와 같이 입력 wsl --install "네트워크 위치를 찾을 수 없습니다." 가 나타나는 경우는 네트워크 환경이 활발한지 확인해볼 것! (당시 잠깐 네트워크가 끊겨 나타남) "설치 중 ~ " 하고 뜬다면 잘 설치되고 있는것으로 마지막에 시스템을 다시 실행해주면 된다 3. 시스템 재시작 후 Windows PowerShell를 관리자 모드로 실행한 후 아래와 같이 입력 wsl --set-default-..
-
[백준(JAVA)] 1676 : 팩토리얼 0 의 개수 - BigInteger알고리즘/백준 - JAVA 2023. 11. 29. 20:00
https://www.acmicpc.net/problem/1676 문제 풀기 전 팩토리얼 500이 얼마나 큰 숫자일지 가늠해보기 위해서 웹 상에 있는 팩토리얼 계산기를 통해 확인해보았다 대략적으로만 봐도 21억 (int 형의 표현 범위 약 ±21억) 은 기본으로 넘는 숫자인걸 확인할 수 있다 아무리 봐도 int 형에는 담기지 않을 것 같아서 long 형으로 구현을 시도해보았으나 long 형 또한 20! 이후로는 계산 값이 정확히 나오지 않았다 따라서 더 큰 수를 담을 수 잇는 자료형을 확인하기로 했다 BigInteger 클래스 java.math 패키지의 BigInteger 클래스 API 문서의 앞 부분을 읽어보면, 불변의 임의의 정밀도 정수 모든 연산들은 마치 BigInteger 가 자바의 원시 int ..