
문제풀이 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;import static java.lang.Math.sqrt;class MeetingComparator implements Comparator { @Override public int compare(int[] a, int[] b) { if (a[1] == b[1]) { return Integer.compare(a[0], b[0]); } return Integer.compare(a[1], b[1]); }}public class Mai..

백준 14196번 greedy 알고리즘의 대표적인 문제다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int money = Integer.parseInt(br.readLine()); int money5 = money/5; if(((..

문제내 풀이import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); String[] mSplit = str.split("-"); int length = mSplit.length; i..

문제첫 번째 풀이: ArrayList를 이용한 좌표 압축처음에는 ArrayList를 이용하여 좌표 압축을 시도했다import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()) ; String..
자바 코딩 테스트에서 자주 사용되는 자료구조와 자료형에 대해 정리했습니다. 각 자료구조와 자료형별로 기본적인 사용법과 메소드들1. 자료구조1.1 스택 (Stack)스택은 LIFO(Last In First Out) 구조로, 마지막에 삽입된 데이터가 가장 먼저 삭제됨.선언:Stack stack = new Stack();메소드:push(): top에 삽입stack.push(1);pop(): top을 삭제 & 확인int top = stack.pop();peek(): top을 확인int top = stack.peek();1.2 큐 (Queue)큐는 FIFO(First In First Out) 구조로, 처음 삽입된 데이터가 가장 먼저 삭제됨.Queue queue = new LinkedList();add(): rea..
똑같은 일을 세 가지 형태로 다룬 예시들을 보며 완벽 이해하자!함수형 인터페이스 정의@FunctionalInterfaceinterface MathOperation { int operate(int a, int b);}일반 클래스를 사용한 구현// 덧셈 연산을 위한 클래스class AdditionOperation implements MathOperation { @Override public int operate(int a, int b) { return a + b; }}// 뺄셈 연산을 위한 클래스class SubtractionOperation implements MathOperation { @Override public int operate(int a, int b..
람다 표현식이란?람다 표현식은 익명 함수(anonymous function)를 작성하는 간결한 방법이다. 람다 표현식을 사용하면 코드가 더욱 간결해진다.람다 표현식의 기본 문법(매개변수 목록) -> { 함수 본문 }람다 표현식의 사용법 예제 1) Runnable 인터페이스 구현Runnable r = new Runnable() { @Override public void run() { System.out.println("Hello, world!"); }}; Runnable r = () -> System.out.println("Hello, world!"); 예제 2: Comparator 인터페이스 구현Comparator comparator = new Comparator() { ..
익명 클래스란?익명 클래스(Anonymous Class)는 이름이 없는 클래스로, 주로 한 번만 사용되는 특정 기능을 구현할 때 유용하다. 익명 클래스는 인터페이스를 구현하거나 추상 클래스를 확장하여 정의되며, 클래스 선언과 동시에 인스턴스를 생성한다. 익명 클래스의 특징이름이 없음: 클래스 이름을 지정하지 않고 정의할 수 있다.단일 사용: 보통 한 번만 사용되며, 인스턴스를 즉시 생성.로컬 변수 접근: 자신이 정의된 메서드의 로컬 변수에 접근할 수 있지만, 해당 변수는 final이거나 실질적으로 final이어야 함익명 클래스 예제 1익명 클래스는 인터페이스나 추상 클래스를 구현할 때 사용된다. 예를 들어, Runnable 인터페이스를 구현하여 스레드를 생성하는 경우를 생각해보자. Runnable r =..