java 5

[LeetCode] 88. Merge Sorted Array

가장 간단한 구현은 두 개의 array(list)를 첫 번째 array인 nums1으로 합친 후 정렬을 해주면 된다. 이 때는 시간 복잡도가 O (n log n) 이지만, Two Pointers (투 포인터)를 활용하면 O (n) 으로 두 개의 index를 각각 두고 각각의 element (요소)를 비교해가며 정렬된 array로 만들면 더 빠르게 구현이 가능하다. 1. 시간 복잡도: O (n log n) class Solution: def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None: for i in range(n): nums1[m+i] = nums2[i] nums1.sort() 2. 시간 복잡도: O (n) class ..

[Java] Queue(큐) 선언 및 사용

Queue는 대표적인 자료구조(Data Structure)로 일반적으로 First In First Out(FIFO)로 동작한다. (대조되는 자료구조로는 Stack이 있고 Stack은 일반적으로 First In Last Out(FILO)). 담고자 하는 자료형에 따라 Integer, String과 같은 자료형을 함께 선언하면 된다. Java에서 Queue 선언 및 사용은 아래와 같다. import java.util.Queue; import java.util.LinkedList; public class Main { public static void main(String[] args) { Queue iQ = new LinkedList(); Queue sQ = new LinkedList(); iQ.offer(1..

[Java] 전역 변수(Global variable)

Java에는 C언어와 똑같은 방식으로 전역 변수를 선언할 수 있지만 사용하는 방법은 다르다. Java에서 전역 변수를 개념적으로 이해하기 위해선 Java에는 전역 변수가 없다고 생각하는 것이 편하고, 실제로 자바엔 전역 변수라는 개념이 없다는 설명을 아래와 같이 많이 찾아볼 수 있다. - Truly global variables do not exist in Java - Java actually doesn't have the concept of Global variable - Global variables are not technically allowed in Java C언어의 전역 변수는 아래와 같이 사용이 가능하다. int global_var = 1; int main() { printf("%d", gl..

[Java] 생성자(Constructor)

Oracle Java Documentation에 따르면 생성자(Constructor)의 정의는 아래와 같다. : A constructor is used in the creation of an object that is an instance of a class. Typically it performs operations required to initialize the class before methods are invoked or fields are accessed. Constructors are never inherited. : 생성자는 한 클래스의 인스턴스인 객체를 생성할 때 사용된다. 일반적으로 생성자는 메소드가 호출되거나 *필드(지역 변수, 인스턴스 변수, 클래스 변수)가 접근되기 전에 클래스를 초..