본문 바로가기

java12

[JAVA] 배열 배열기본 자료형 배열의 기본값은 0(정수형)이거나, 0.0(실수형)이거나, 공백(char)이거나, false(boolean)이다.String이나 참 배열 선언의 형태// 예시 1int[] numbers = new int[7];// 예시 2int[] numbers;numbers = new int[7];// 예시 3int[] numbers = {1, 3, 5, 7, 9};// 예시 4int[] numbers;numbers = new int[]{1, 3, 5, 7, 9}; //주의 : new int[] 를 반드시 명시해야 함 배열의 기본값기본 자료형 배열의 기본값은 0(정수형)이거나, 0.0(실수형)이거나, 공백(char)이거나, false(boolean)이다.String이나 참조 자료형은 초기화를 하지 않.. 2024. 10. 20.
Kotlin 기초_변수 사용법 Kotlin에서 기본적인 변수 사용법을 소개하겠다.  1.  val, var    1-1. val (value, 값)불변 변수로, 한 번 초기화하면 값을 변경할 수 없다. (java의 final 변수와 동일하다.)자료형은 기재하지 않아도 된다. (Kotlin에서 자료형을 자동으로 추론한다.)//예시 1val a : Int = 3//예시 2val b = 5 //자료형은 생략 가능하다.         1-2. var (variable, 변경 가능한)가변 변수로, 값을 재할당할 수 있다.자료형은 기재하지 않아도 된다. (Kotlin에서 자료형을 자동으로 추론한다.)//예시 1var a : Int = 3a = 6 //값 재할당이 가능하다.//예시 2var b = 5 //자료형은 생략 가능하다.b = 10 .. 2024. 9. 7.
버블 정렬 (백준 2750) 버블정렬이란?- 데이터의 인접 요소끼리 비교하고, swap 연산을 수행하며 정렬하는 방식- 시간 복잡도는 O(n*2)으로 다른 정렬 알고리즘보다 속도가 느림   import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int A[] = new int[N]; for(int i = 0; i A[j]) { int temp = A[j]; A[j] = A[i]; A[i] = temp; } } } for(int i = 0; i 2024. 7. 15.
구간 합 구간 합이란?합 배열을 이용하여 시간 복잡도를 더 줄이기 위해 사용하는 특수한 목적의 알고리즘 합 배열 S 정의S[i] = A[0] + A[1] + A[2] + ... + A[i-1] + A[i] //A[0]부터 A[i]까지의 합 합 배열을 만드는 공식S 배열은 합 배열, A 배열은 일반 배열을 뜻함EX) 배열 A = {3, 6, 5, 10, 4}       배열 S = {3, 9, 14, 24, 28}S[i] = S[i-1] + A[i] 구간 합을 빠르게 구하는 공식S는 합 배열임S[j] - S[i-1] //i에서 j까지 구간 합 2024. 7. 11.
배열과 리스트 배열- 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조- 인덱스를 통해 참조할 수 있음- 새로운 값을 삽입하거나 특정 인덱스 값을 삭제하기 어려움   (삽입하거나 삭제하려면 해당 인덱스 주변에 있는 값을 이동시키는 과정이 필요함)- 배열의 크기는 선언할 때 지정할 수 있으며, 한 번 선언하면 크기를 늘리거나 줄일 수 없음- 구조가 간단함 (코딩 테스트에서 가장 많이 사용) 리스트- 값과 포인터를 묶은 노드라는 것을 포인터로 연결한 자료구조- 자기자신을 가리키는 값과 다음값을 가리키는 포인터로 구성- 인덱스가 없으므로 값에 접근하려면 Head 포인터부터 순서대로 접근해야 함 (접근 속도 느림)- 포인터로 연결되어 있으므로 데이터를 삽입하거나 삭제하는 연산 속도가 빠름   (포인터가 가리키는 방향만 .. 2024. 7. 10.
시간복잡도 시간복잡도란?시간복잡도주어진 문제를 해결하기 위한 연산 횟수  빅-오메가(Big-Ω) : 최선일 때(best case)의 연산 횟수를 나타낸 표기법빅-세타(Big-θ) : 보통일 때(average case)의 연산 횟수를 나타낸 표기법빅-오(Big-O) : 최악일 때(worst case)의 연산 횟수를 나타낸 표기법 코딩 테스트에서는 다양한 테스트 케이스를 수행해 모든 케이스를 통과해야만 합격으로 판단하므로  빅-오 표기법을 기준으로 수행 시간을 계산하는 것이 좋음  시간복잡도 도출 기준① 상수는 시간복잡도 계산에서 제외② 가장 많이 중첩된 반복문의 수행 횟수가 시간 복잡도의 기준이 됨   아래 1, 2번 예제의 연산 횟수는 3배의 차이가 나지만, 일반적으로 두 코드 모두 시간 복잡도는 O(n)으로 같음.. 2024. 7. 10.
LIST