상세 컨텐츠

본문 제목

백준 A+B 여러 케이스 받기 연습

백준 자바

by 빙하둘리 2022. 11. 21. 01:10

본문

728x90

입력하기에 앞 BufferedReader의 객체 br을 다음과 같이 생성해준다.

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

 

입력은 br.readLine();이라는 함수를 통해서 입력 받는다.

 

문자열을 숫자로 바꿔주는 Integer.parseInt(String s)

두 번째 인자에 몇 진수로 바꿔줄 지 Integer.parseInt(String s, radix x) 처럼 숫자를 넣어주면 x진수 형태로 나온다.

 

예시 백준 2439번 별 찍기-2

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader((new InputStreamReader((System.in))));
        String str = br.readLine();

        int num = Integer.parseInt(str); // 문자열을 숫자로 변환해줌


        for (int i=0; i<num; i++) {
            for (int j=num-i-1; j>0; j--)
                System.out.print(" ");
            for (int k = 0; k < i+1; k++) {
                System.out.print("*");
            }
            if(i!=num-1)
                System.out.println(""); // 엔터 처리
        }
    }
}

BufferedReader로 문자열을 입력 받고 Integer.parseInt로 문자열을 숫자로 변환해준다.

 

 

숫자 두 개 입력 받기

import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String str = br.readLine();
        StringTokenizer st = new StringTokenizer(str," ");
        // 숫자 두 개 입력 받는 방법
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());

        System.out.println(a+b);
    }
}

StringTokenizer로 분리해준다.

 

 

백준 10950번

결과를 담는 배열을 다음과 같이 만들어준다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        int i; // 테스트 케이스 개수
        //테스트 케이스 만큼 결과를 담는 result 배열을 만들었다.
        int result[]=new int[Integer.parseInt(br.readLine())];
		//br.readLine()으로 입력 받고 Integer.parseInt로 문자열을 정수로 변환해줬다.

        for(i=0; i<result.length; i++) { //result 배열의 길이만큼 반복
            st= new StringTokenizer(br.readLine()); //두 수를 받는데 공백으로 구분해서
            int A=Integer.parseInt(st.nextToken()); // nextToken으로 구분
            int B=Integer.parseInt(st.nextToken());
            result[i]=A+B;
        }
        for(i=0; i<result.length; i++) {
            System.out.println(result[i]);
        }
    }
}

 

 

eof 써서 판별하는 백준 10951번

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

public class Main {
    public static void main(String[] args) throws IOException
    {
        BufferedReader br = new BufferedReader((new InputStreamReader((System.in))));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        String input="";// 무로 초기화

        while((input=br.readLine()) !=null) // 파일의 끝이 아닐 때
        {
            StringTokenizer st=new StringTokenizer(input); // 스트링토크나이저로 공백 기준 구분
            int a=Integer.parseInt(st.nextToken());
            int b=Integer.parseInt(st.nextToken());
            bw.write(String.valueOf(a+b));
            bw.newLine();
        }
        bw.flush();
        bw.close();
        br.close();
    }
}

String 형식 input이 br.readLine()!=null일 때, 그러니까 파일의 끝이 아닐 때

StringTokenizer의 객체를 StringTokenizer st= new StringTokenizer(input);으로 만들어서 공백을 기준으로 구분하고

st.nextToken()을 이용해 공백 기준으로 토큰을 돌려 받는다.

정수를 입력받으니 Integer.parseInt로 정수로 변환한다.

bw.write(String.valueOf(a+b));를 이용해 a+b의 값을 쓰고, bw.newLine();을 통해 줄을 띄운다.

끝으로 flush 해주고 close해주는 것을 잊지 않는다

 

출처)Integer.parseInt(String s)

https://jamesdreaming.tistory.com/125

 

[ 자바 코딩 ] Java Integer.parseInt

안녕하세요. 제임스 입니다. 문자열을 숫자로 변환시키는 방법으로 자바에서는 Integer.parseInt 를 사용합니다. parseInt 함수는 Integer 클래스의 static 함수입니다. 형태는 아래와 같이 두가지가 있습

jamesdreaming.tistory.com

백준 10950번 테스트케이스만큼 입력 받 https://olaf-seo.tistory.com/12

 

A+B [백준 - Java]

Java에서 입력은 BufferedReader와 Scanner 둘다 가능하다. 이 글에서는 둘 다 사용하지만, BufferedReader를 사용하는것이 코드가 좀 길더라도 메모리 사용이나 시간이 효율적이므로 알고리즘에서의 입력

olaf-seo.tistory.com

 

eof 쓰는 백준 10951번

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=codinginpain&logNo=222015765832 

 

알고리즘] 백준 알고리즘 10951번 자바 EOF

자바 EOF(End Of File) 을 이용해서 푸는 문제임 문제 자체는 간단한데 EOF 처리 방법 개념을 좀 ...

blog.naver.com

 

그 외

https://jininote.tistory.com/14

 

[백준/JAVA/자바입출력]백준11021, 백준11022

이전에 다룬 문제와 입력과 출력방식은 같지만 형태가 다른 문제 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public cla

jininote.tistory.com

 

728x90

관련글 더보기

댓글 영역