코딩 테스트 4

[알고리즘]투 포인터(Two Pointer) 알고리즘 - 백준 2018(수들의 합 5)

투 포인터 알고리즘은 배열을 탐색할 때 두 개의 포인터를 사용하여 효율적으로 문제를 해결하는 알고리즘 기법이다.주로 정렬된 배열에서 특정 조건을 만족하는 구간이나 수의 쌍을 찾을 때 사용된다.기존의 이중 반복문 방식보다 더 빠르게 결과를 도출할 수 있어 자주 활용된다.✅ 투 포인터의 대표적인 두 가지 방식1. 같은 방향에서 출발하는 투 포인터두 포인터를 배열의 앞쪽에 나란히 배치한 후, 조건에 따라 포인터를 전진시킨다.일반적으로 연속된 구간의 합을 구하는 문제나 특정 조건을 만족하는 부분 수열을 찾는 문제에서 사용된다.특징start, end 포인터를 모두 0번 인덱스에 위치시킨다.end를 이동시킨다.현재 구간의 합을 기준으로 조건을 판단하고, 다음과 같이 포인터를 조정한다.조건 처리 방식sum end++..

코테 2025.04.15

[정렬] Insertion Sort(삽입 정렬)

1. 삽입 정렬(Insertion Sort) 정리삽입 정렬은 배열의 앞부분은 항상 정렬되어 있다고 가정하고, 새로운 값을 적절한 위치에 삽입하여 정렬을 완성하는 방식이다.초보자도 이해하기 쉬운 정렬 알고리즘 중 하나이며, 특히 거의 정렬되어 있는 배열에서는 빠른 성능을 보인다.2. 삽입 정렬의 동작 원리두 번째 원소부터 시작하여, 현재 원소를 앞의 정렬된 부분과 비교한다.자기보다 큰 값을 만날 때까지 뒤로 한 칸씩 밀고 자리를 만든다.알맞은 자리에 현재 값을 삽입한다.3. 코드 구현삽입 정렬 함수public static void insertSort(int[] arr, int n) { int temp, j; for (int i = 1; i = 0 && arr[j] > temp) { ..

[코딩 테스트] 문자열 메소드 정리(String,StringBuilder)

Java 문자열 메소드 정리Java에서 문자열(String)은 코딩 테스트에서 자주 사용되는 기본 자료형이다. 아래는 코딩 테스트를 대비하여 자주 사용하는 문자열 관련 메소드를 간단히 정리한 내용이다.String 주요 메소드메소드설명예시length()문자열의 길이를 반환한다."abc".length() → 3charAt(i)i번째 문자를 반환한다."abc".charAt(0) → 'a'substring(start)start 인덱스부터 끝까지 자른 문자열을 반환한다."hello".substring(2) → "llo"substring(start, end)start부터 end-1까지의 부분 문자열을 반환한다."hello".substring(1, 4) → "ell"contains("abc")지정한 문자열이 포함되어..

코테 2025.04.09

[코딩 테스트] Java 필수 문법 정리 – 입출력, 자료구조

저는 Java위주로 공부를 했기 때문에 코딩테스트에 응시할 경우를 대비 해 정리한 자료입니다.자주 사용되지만 한동안 사용하지 않으면 잊어버리는 내용들이 많아 정리를 하게 되었습니다.1. 입출력 최적화🔹 BufferedReader & BufferedWriter (빠른 입출력)import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamW..

코테 2025.03.24