본문 바로가기
BAEKJOON/1단계 : 입출력과 사칙연산

[백준/BAEKJOON] 1000번 A+B, 1008번 A/B / JAVA / python

by nomeleon 2022. 3. 16.
반응형

안녕하세요!

이번에는 두 수를 입력받고 연산 결과를 출력하는 문제입니다.

 

1000번: A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

A+B

 

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

첫째 줄에 A+B를 출력한다.

 

아래와 같이 입력받고 출력하면 됩니다.

 

 

1. java 풀이

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int A = sc.nextInt();
        int B = sc.nextInt();
        System.out.println(A+B);
    }
}

풀이 시 이클립스에서와 같이 컨트롤+스페이스를 누르면 자동으로 완성해주는 것 따위는 백준에서 안되기 때문에 ㅎㅎㅎㅎㅎ

직접 import java.util.Scanner;를 기재해 주셔야 합니다! ㅎㅎㅎㅎ(정말 불편해요 언제 속마음이 글씨로..)

 

 

2. python 풀이

 

java 는 손쉽게 풀이하였는데요, python은 처음에 아래와 같이 풀이를 제출하니 런타임오류가 발생하였습니다!

주피터 노트북에서는 정상적으로 실행되었는데 오류가 나서 당황했습니다.

A, B = input().split()
A=int(A)
B=int(B)
print(A+B)

문제에 써진 것과 같이 첫번째 줄에 함께 출력되어야 하나

두번에 걸쳐 입력을 받게되어 런타임오류가 발생하는 것이었습니다.

 

찾아보던 중 한줄로 입력받을 수 있는 

input().split()을 알게되었습니다.

input().split()을 사용하게 되면 문자열을 입력할 때 스페이스바로 구분해 주셔야 합니다.

연속해서 숫자를 입력할 경우 오류가 납니다.

 

 

 

 

 

 

 

 

 

 

 

 

 


그 다음으로 1001번인 A-B, 10998번인 A*B는 연산자만 각각 -와 *로 변경하여 풀이하였습니다.

 

1001번: A-B

두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

10998번: A×B

두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

그런데 1008번인 A/B 문제에서 자바 풀이의 경우 오차범위 때문에 int가 아닌 double로 풀이해야 했습니다.

 

1008번: A/B

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

A/B

문제

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.

예제 출력

 

1. Java 풀이

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        double A = sc.nextDouble();
        double B = sc.nextDouble();
        System.out.println(A/B);
    }
}

댓글