입출력
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
//읽어 오기 위한 객체
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//쓰기 위한 객체(String + String 으로 직접 더하면 성능 저하)
StringBuilder sb = new StringBuilder();
// 입력 처리
StringTokenizer st = new StringTokenizer(br.readLine());
//String -> Integer
int N = Integer.parseInt(st.nextToken());
// StringBuilder 저장
sb.append(N).append(" ");
// 최종 출력
System.out.println(sb);
}
}
정렬
import java.util.Arrays;
int[] arr = {3, 1, 4, 1, 5, 9};
// 오름차순 정렬
Arrays.sort(arr);
// 내림차순
Arrays.sort(arr, (a, b) -> Integer.compare(b, a));
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
List<Integer> list = new ArrayList<>(List.of(3, 1, 4, 1, 5, 9));
// 1. 오름차순 정렬
Collections.sort(list);
// 2. 내림차순 정렬
Collections.sort(list, Collections.reverseOrder());
Stack, Queue → Deque
import java.util.ArrayDeque;
import java.util.Deque;
Deque<Integer> queue = new ArrayDeque<>();
Deque<Integer> stack = new ArrayDeque<>();
// Queue (FIFO)로 사용 시
queue.offer(1); // push
int val = queue.poll(); // pop
// Stack (LIFO)로 사용 시
stack.push(1);
int top = stack.pop();
숫자
int maxV = Integer.MAX_VALUE; //인티저 중 가장 큰 수
int minV = Integer.MIN_VALUE;
int maxVal = Math.max(a, b); //큰 값
int minVal = Math.min(a, b); //작은 값
int absVal = Math.abs(-10); // 절대값
int powVal = (int) Math.pow(2, 10); // 거듭제곱 (반환 타입이 double)