Search
🙊

Java 코테 정리

Intro::

1. 입출력 처리

빠른 입력
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line = br.readLine(); // 한 줄 읽기 StringTokenizer st = new StringTokenizer(line); int a = Integer.parseInt(st.nextToken());
Java
복사
빠른 출력
StringBuilder sb = new StringBuilder(); sb.append(result).append('\n'); // 반복 후 System.out.print(sb);
Java
복사

2. 문자열(String)

length() : 문자열 길이
charAt(i) : i번째 문자
substring(begin, end) : 부분 문자열
indexOf(str) / lastIndexOf(str) : 검색 위치
split(regex) : 토큰 분리
replace(oldChar, newChar) / replaceAll(regex, newStr)
equals() / equalsIgnoreCase() : 비교
toCharArray() : 문자 배열 변환
뒤집기
String rev = new StringBuilder(s).reverse().toString();
Java
복사

3. 배열(Arrays)

Arrays.sort(arr) : 오름차순 정렬
Arrays.binarySearch(arr, key) : 이분 탐색
Arrays.fill(arr, value) : 초기화
Arrays.equals(a, b) : 비교
Arrays.copyOf(src, newLen)
System.arraycopy(src, si, dst, di, len)
Arrays.toString(arr) : 디버깅용 출력
int[] nums = {5, 2, 9, 1, 3}; Arrays.sort(nums); System.out.println(Arrays.toString(nums)); // [1, 2, 3, 5, 9] Integer[] boxed = Arrays.stream(nums).boxed().toArray(Integer[]::new); // 람다를 사용한 내림차순 정렬 Arrays.sort(boxed, (a, b) -> b - a); System.out.println(Arrays.toString(boxed)); // [9, 5, 3, 2, 1] String[] names = {"홍길동", "김철수", "이영희", "박민수"}; // 문자열 길이 오름차순 Arrays.sort(names, (a, b) -> a.length() - b.length()); System.out.println(Arrays.toString(names)); // [김철수, 이영희, 박민수, 홍길동] // 사전 역순 Arrays.sort(names, (a, b) -> b.compareTo(a)); System.out.println(Arrays.toString(names)); // [홍길동, 박민수, 이영희, 김철수]
Java
복사

4. 수학 연산(Math)

Math.max(a, b) / Math.min(a, b)
Math.abs(x)
Math.pow(a, b) / Math.sqrt(x)
Math.ceil(x) / Math.floor(x) / Math.round(x)
BigInteger.gcd() : 최대공약수
BigInteger.modPow() : 큰 지수 연산

5. 컬렉션(Collections)

리스트 / 집합 / 맵
List<Integer> list = new ArrayList<>(); Set<String> set = new HashSet<>(); Map<String, Integer> map = new HashMap<>();
Java
복사
정렬 및 변환
Collections.sort(list); Collections.reverse(list); Collections.shuffle(list);
Java
복사
탐색 / 빈도
Collections.binarySearch(list, key); Collections.frequency(list, key);
Java
복사

6. 자료구조 활용

우선순위 큐
PriorityQueue<Integer> pq = new PriorityQueue<>(); // 최소 힙 PriorityQueue<Integer> maxPq = new PriorityQueue<>(Comparator.reverseOrder());
Java
복사
덱(Deque)
Deque<Integer> dq = new ArrayDeque<>(); dq.offerFirst(x); dq.offerLast(x); dq.pollFirst(); dq.pollLast();
Java
복사
링크드 리스트 (큐/스택 대체)
LinkedList<Integer> queue = new LinkedList<>(); queue.offer(x); queue.poll();
Java
복사

7. 유틸리티 클래스

문자 분류
Character.isDigit(c); Character.isLetter(c);
Java
복사
형 변환 / 파싱
Integer.parseInt(str); Long.parseLong(str); Double.parseDouble(str);
Java
복사
포맷팅
String.format("%d %s", num, str);
Java
복사
토큰 분리
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
Java
복사
이진수 변환
Integer.toBinaryString(5);// "101"
Java
복사

References::