BufferedReader와 Scanner의 차이 및 비교
·
java
Java에서 사용자 입력을 처리하거나 파일을 읽는 데 자주 사용되는 두 가지 클래스는 BufferedReader와 Scanner입니다. 이 글에서는 두 클래스의 주요 차이점, 성능 비교, 그리고 성능 차이가 발생하는 이유에 대해 알아보겠습니다.1. BufferedReader와 Scanner1.1 BufferedReaderBufferedReader는 Java의 I/O 패키지(java.io)에 포함되어 있으며, 대량의 문자 데이터를 읽는 데 최적화된 클래스입니다.주요 특징:버퍼를 사용하여 효율적인 데이터 읽기를 지원.데이터를 문자열 단위로 처리 (readLine() 메서드 제공).입력을 해석하거나 파싱하지 않음.1.2 ScannerScanner는 Java의 유틸리티 패키지(java.util)에 포함되어 있으..
슬라이딩 윈도우 알고리즘에 관하여
·
algorithm
슬라이딩 윈도우(Sliding Window)는 배열이나 문자열과 같은 데이터 구조에서 특정 조건에 맞는 부분 구간을 효율적으로 탐색하거나 계산하기 위한 알고리즘 기법입니다. 이 글에서는 슬라이딩 윈도우 알고리즘의 개념, 작동 원리, 주요 사례 및 구현 방법에 대해 알아보겠습니다.1. 슬라이딩 윈도우 알고리즘이란?슬라이딩 윈도우는 고정된 크기의 윈도우(구간)를 데이터 구조 위에서 이동시키며 문제를 해결하는 방식입니다. 반복적으로 윈도우를 이동하면서 이전 계산 결과를 활용하여 효율적인 처리를 제공합니다.사용 목적불필요한 계산을 줄여 성능 최적화특정 구간 내의 값을 계산하거나 조건을 만족하는 부분을 탐색2. 작동 원리슬라이딩 윈도우는 기본적으로 두 개의 포인터(보통 시작 포인터와 끝 포인터)를 사용하여 데이터..
숏서킷 연산에 관하여
·
java
1. 숏서킷 연산이란?숏서킷 연산은 논리 연산자 && (AND)와 || (OR)에서 조건식의 결과를 미리 판단할 수 있을 때, 남은 조건을 평가하지 않고 연산을 종료하는 최적화 기법입니다.1.1 동작 원리&& (AND): 첫 번째 조건이 false라면, 전체 결과는 항상 false이므로 나머지 조건은 평가하지 않습니다.|| (OR): 첫 번째 조건이 true라면, 전체 결과는 항상 true이므로 나머지 조건은 평가하지 않습니다.// AND 연산if (a != 0 && b / a > 1) { System.out.println("조건 충족");}// a가 0이면 b / a > 1은 평가되지 않음 (ZeroDivisionError 방지)// OR 연산if (a == 0 || b / a > 1) { ..