날짜: 2025년 11월 29일
학습 범위: p.100 ~ p.119
핵심 키워드: 슬라이딩 윈도우, O(N), BufferedReader
Sum = Sum - (나가는 값) + (들어오는 값)Scanner는 느리다. 실전에서는 BufferedReader + StringTokenizer 조합이 필수.System.out.println 금지. StringBuilder에 모아서 한 번에 출력.main 함수 옆에 throws IOException을 붙여서 에러 처리를 JVM에 떠넘긴다.책을 읽으며 중요하다고 느낀 개념, 공식, 팁을 적습니다.
public class Main{
public static void main(String[] args){
BufferedReader br = new BufferReader(new InputStreamReader(System.in))
int N = Integer.parseInt(bf.readLine());
int[] A = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for(int k=0; k<N; k++){
A[k] = Integer.parseInt(st.nextToken());
}
for(int i=0; i<N; i++){
int minIndex = i;
for(j=i+1; j<N; j++){
if (A[j] < A[minIndex]){
minIndex = j;
}
}
int temp = A[i];
A[i] = A[minIndex];
A[minIndex] = temp;
}
}
}
public class Main{
public static void main(String[] args){
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] A = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for(int k=0; k<N; k++){
A[k] = Integer.parseInt(st.nextToken());
}
for(int i=1; i<N; i++){
int j = i-1;
int target = A[i];
while(j>=0 && A[j] > target){
A[j + 1] = A[j];
j--;
}
A[j + 1] = target;
}
}
}

