컴퓨터 프로그래밍/알고리즘

[알고리즘] Baekjoon Bronze 4

한33 2025. 1. 10. 17:13

Baekjoon Bronze 4 를 풀면서 알게된 작은 정보들 메모

 

💡 BufferedReader, BufferedWriter, StringTokenizer

public class BOJ15552 {
    // 빠른 A+B
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int T = Integer.parseInt(br.readLine());
        for (int i=0; i<T; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());
            bw.write(a+b+"\n");
        }
        bw.flush();
        bw.close();
    }
}

 

기존에 Scanner 를 사용했던 거와 다르게 더 빠른 처리속도를 위해서 BufferedReader 와 BufferedWriter 를 사용했다.

위처럼 세팅을 해주면 된다.

 

💡 Math.max() 큰 수 

Math.max(b,c)

위 메서드를 활용해서 b,c 중 큰 값을 가져올 수 있다.

 

💡 아스키코드를 활용한 연산

a[(text[i]-97)] ++;

아스키 코드를 이용해서 위와 같이 활용할 수 있다.

97 은 a 를 나타낸다.

(char) 이나 (int) 를 앞에 붙여서 문자나 숫자로 출력도 가능하다.

 

💡 오름차순 정렬

Arrays.sort(a); // 오름차순

a 배열을 위와 같이 오름차순으로 다시 정렬할 수 있다.

 

💡 Integer 선언을 통해 내림차순 정렬

Integer[] a = new int[3];
Arrays.sort(a, Collections.reverseOrder()); // 내림차순

a 배열을 클래스 Integer 로 선언해서 Collections util 을 활용해 내림차순으로도 정렬할 수 있다.

 

💡 동일한 문자열 조건

if (text.equals("#")) break;

문자열의 equals 메서드를 활용해서 특정 문자열과 일치할 시의 조건문을 달 수 있다.

 

💡 Scanner 사용 시 참고사항

int N = sc.nextInt();
sc.nextLine();

이거랑

int N = Integer.parseInt(sc.nextLine());

이거는 동일하다.

 

💡 소문자 출력

name.toLowerCase()

name 문자열을 모두 알파벳 소문자로 출력하게 한다.

 

💡 Integer 의 MAX 값

int max = Integer.MAX_VALUE;