본문 바로가기

Web Development

[Java] 변수 타입간의 변환 방법 1. 문자(char) 숫자(number)간의 변환 숫자를 문자로 변경하려면 문자 '0'을 더하고 빼면, 숫자를 문자로, 문자를 숫자로 변환가능하다. 2. 숫자 --> 문자열로의 변환 3 또는 '3' 에다가 + "" = 빈문자열을 더해주면 "3"으로 변환된다. 3. 문자열 --> 숫자로 변환 Integer.parseInt("3"); Double.parseDouble("3.4") 4. 문자열 --> 문자로 변환 "3" > '3' "3".charAt(0) = 결과값 문자 '3' -참조 자바의 정석 더보기
[Java] 기본형 변수의 종류와 크기 1 Byte 2 Byte 3 Byte 4 Byte 논리형 boolean 문자형 char 정수형 byte short int long 실수형 float double 1Byte = 8bit 비트(bit)는 2진수로서 0또는 1의 값을 가짐. 컴퓨터는 일반적으로 8개 단위의 비트(8bit)를 하나의 그룹으로 사용하고 이를 바이트(Byte)라 함. 즉, 1바이트는 8개의 on/off 상태를 조합하여 나타낼수 있는 수는 총 256 (2^8)개가 되기 때문에 1바이트(Byte)는 0 부터 255 까지 값을 가질수 있게 됨. n비트로 표현할 수 있는 값의 개수: 2^n개 n비트로 표현할 수 있는 부호 없는 정수의 범위: 0~(2^n)-1 n비트로 표현할 수 있는 부호 있는 정수의 범위: -(2^n-1)~(2^n-1)-.. 더보기
[git][스크랩] git으로 협업하기, git 명령어 https://hackmd.io/@oW_dDxdsRoSpl0M64Tfg2g/ByfwpNJ-K Git 명령어 총정리집 (by 코딩알려주는 누나❤) - HackMD # Git 명령어 총정리집 (by 코딩알려주는 누나❤) ![](https://c.tenor.com/UNTqMDwqh1gAAAAM/hello-hi.gif) 안녕하세요 여러분 :) hackmd.io 더보기
[자료구조] Priority Queue 우선순위 큐, Heap 힙 Priority Queue 우선순위 큐 들어온 순서에 상관없이 우선순위가 높은 데이터가 먼저 나오는 구조 - 우선순위 큐는 heap이라는 자료구조로 구현 배열, 연결리스트로 구현하지 않는 이유? -데이터 삽입 시 시간복잡도가 O(n)에 이르기 때문 -힙을 사용할 시 시간복잡도는 삽입, 삭제 시 모두 O(log2n) Heap 힙 -힙은 완전이진트리 -모든 노드에 저장된 값(우선순위)들은 자식 노드들의 것보다 우선순위가 크거나 같음 (반정렬 상태) -> 삽입 시 직접 연결된 부모, 자식 간의 우선순위만 비교하면 됨 -중복된 값 허용 Max Heap 최대 힙 -완전 이진트리이면서, 루트 노드로 올라갈수록 저장된 값이 커지는 구조 -우선순위는 값이 큰 순서대로 매김 Min Heap 최소 힙 -완전 이진트리이면서.. 더보기
[자료구조] Binary Search Tree 이진탐색트리 Binary Search Tree 이진탐색트리 트리 구조 자체적으로는 트리 노드를 하나하나씩 방문하여 탐색해야 하기 때문에 시간 복잡도 측면에서 큰 이점이 없음. -> 더 빠른 탐색을 위해서 Binary Search와 마찬가지로 O(log₂n)의 시간 복잡도를 가지도록 고안됨 (데이터의 특성에 제약을 줌) 이진탐색트리의 특성 - 노드의 왼쪽 서브 트리에는 루트 노드보다 작은 값이 들어있다. - 노드의 오른쪽 서브 트리에는 루트 노드보다 큰 값이 들어있다. - 서브 트리 또한 이진 탐색 트리 구조이다. - 중복된 값은 일체 없다. - 루트 노드인 5를 기준으로 왼쪽 서브 트리에는 5보다 작은 수로 구성 되어있고 오른쪽 서브 트리에는 5보다 큰 수로 구성됨 - 하위의 서브 트리에서도 각 루트 노드를 기준으로.. 더보기
[자료구조] Tree 트리 그래프 vs 트리? 구분 그래프(Graph) 트리(Tree) 정의 객체 혹은 노드(Node)와 그것을 연결하는 간선(Edge)으로 모인 구조 그래프의 한 종류이고 방향성이 없으며 순환하지 않음 방향성 무방향 혹은 유방향으로 가능 무방향 그래프 순환성 순환 가능 자기 자신을 연결하는 간선(Self-Loop) 가능 순환(Cyclic), 비순환(Acyclic) 모두 가능 순환 불가능 자기 자신 연결 간선(Self-Loop) 불가능 비순환 그래프(Acyclic Graph) 루트 루트의 개념이 있거나 없을 수 있음 하나의 루트 노드 존재 모델 네트워크 모델 계층 모델 순회 넓이 우선 탐색(BFS) 깊이 우선 탐색(DFS) 전위(Pre) / 중위(In) / 후위(Post) 순회 방식 간선수 그래프에 따라 다르며 없.. 더보기
[자료구조] Deque 덱 Deque 덱 : "Double-ended Queue"를 줄여서 표현한 것으로 앞, 뒤로 모두 넣고 뺄 수 있는 자료구조. stack과 queue를 합친 자료구조로 이해됨. - 머리, 꼬리 양쪽 노드에서 추가와 삭제가 이뤄진다는 점에서 양방향 연결 리스트를 기반으로 덱을 구현하는 경우가 많음. - python에서 덱의 연산은 collections 모듈에서 제공하는 deque 클래스로 구현 가능 ▷ append(): 오른쪽에서 데이터를 삽입 ▷ appendleft(): 왼쪽에서 데이터를 삽입 ▷ pop(): 오른쪽에서 데이터 삭제 ▷ popleft(): 왼쪽에서 데이터 삭제 -출처 https://blog.naver.com/isaac7263/221507063144 더보기
[자료구조] Graph 그래프 Graph 그래프 -정점(vertex/node)들과 정점을 연결하는 간선(edge/arcs)로 이루어진 자료 구조 -G=(V,E) === 그래프=(정점의 집합, 간선의 집합) 그래프의 종류 -무방향 그래프 -방향 그래프 -가중치 그래프 -완전 그래프 그래프 구현 방법 -인접 행렬 두 정점을 연결하는 간선을 조회할 때 시간복잡도: O(1) 한 정점의 차수를 구할 때 시간복잡도: O(n) 모든 간선의 수를 알아낼 때 시간복잡도: O(n²) 단점: 간선의 수와 관계없이 항상 n² 크기의 2차원 배열을 사용해야 하므로 메모리가 낭비됨. -인접 리스트 두 정점을 연결하는 간선을 조회하거나 정점의 차수를 알기 위해서는 정점의 인접 리스트를 탐색해야 하므로 정점의 차수만큼의 시간이 필요: O(degree(v)) ※d.. 더보기