💻 STUDY/알고리즘
백준 1000번 :: A+B
삼색꼬치전
2024. 5. 23. 12:23
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(br.nextLine());
int b = Integer.parseInt(br.nextLine());
System.out.println(a+b);
}
}
기초문제지만 매번 Scanner 클래스만 쓰다 BufferedReader에 익숙해지고자 다시 풀어본다.
왜 컴파일 에러가 났냐?
BufferedReader을 받을 때, readLine() 은 한 행을, read() 은 한 문자를 읽어온다.
그리고 각각 String, int 를 return 함.
read() 은 받은 정수를 아스키코드로 변환해서 변수에 저장한다.
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));
int a = br.read(); // 1 입력
System.out.println(a); // 49
}
}
이를 위해서는
(1) br.read() - '0'
(2) br.read() - 48(0의 아스키코드값)
해주면 입력한 대로 나온다.
그러나 한 문자만 읽기 때문에 10을 입력해도 1만 읽혀서 49로 저장. ==> readLine()을 사용한다.
하지만 공백도 문자열이기에 예제 입력에서 1 2 이렇게 입력되었다면,
공백을 기준으로 분리해줘야 한다.
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));
String a = br.readLine();
StringTokenizer st = new StringTokenizer(a, " "); // a에서 입력받은 문자열을 공백 기준으로 자름
String b = st.nextToken();
String c = st.nextToken();
System.out.println(a); // string int
System.out.println(b); // string
System.out.println(c); // int
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
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 = new StringTokenizer(br.readLine()," ");
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
System.out.println(b+c);
}
}
문제 입력을 어떻게 하는지 잘 읽자.