티스토리 뷰

문제 출처 - https://www.acmicpc.net/problem/10807

 


서론

일요일에도 알고리즘 문제를 풀어야겠지.

시행착오(Trial&Error)

풀이(Solution)

'개수 세기 문제'와 동일한 방법으로 문제에 접근했다.

BufferedReader&BufferedWriter를 이용하는 방법을 연습하는 차원으로 문제를 풀었다.

순서

  1. try-catch문 '예외처리'
  2. BufferedReader, BufferedWriter 객체 생성
  3. StringTokenizer 생성
  4. br.readLine()으로 입력 처리
  5. bw.write()으로 출력 처리
  6. br.close(), bw.close()로 처리 완료

코드

1. java.util.Scanner 이용 방법

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int x = sc.nextInt();
        int[] arr = new int[n];
        String result = "";
        for(int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
            if(arr[i] < x) 
                result += arr[i] + " ";
        }
        System.out.println(result);
    }
}

2. java.io.* 이용 방법

import java.io.*;
import java.util.StringTokenizer;

class Main {
    public static void main(String[] args) {
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            StringTokenizer st;
            st = new StringTokenizer(br.readLine()," ");
            int n = Integer.parseInt(st.nextToken());
            int x = Integer.parseInt(st.nextToken());
            int[] arr = new int[n];
            st = new StringTokenizer(br.readLine()," ");
            for(int i = 0; i < n; i++) {
                arr[i] = Integer.parseInt(st.nextToken());
                if(arr[i] < x) {
                    bw.write(arr[i] + " ");
                }
            } 
            br.close();
            bw.close();
        } catch(IOException e) {}
    }
}

 


기타

 

출처 : 자바 백준 관련 기초 문제 (bw.write 에관해)

 

 

댓글
공지사항