[★1][백준10869번]사칙연산 (JAVA)

Date:     Updated:

카테고리:

태그:

[★1][백준10869번]사칙연산 (JAVA)

10869번 문제 ☞ https://www.acmicpc.net/problem/10869

난이도 ☞ [★1]

사칙연산


  • 문제
    • 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.
    • 두 자연수 A와 B가 주어진다.
    • 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.

      예제입력 예제출력
      7 3 10
      4
      21
      2
      1

내가 푼 풀이


[ 풀이 1 ]

메모리 : 17752KB
시간 : 208ms

Scanner

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		
		int a = s.nextInt();
		int b = s.nextInt();
		
		System.out.println(a+b);
		System.out.println(a-b);
		System.out.println(a*b);
		System.out.println(a/b);
		System.out.println(a%b);
		
		s.close();
	}

}

풀이 1번은 제일 심플하게 Scanner방식으로 구현해보았다. 참고로 예제에서 보시다시피 정수형으로 받아 정수형으로 출력되는 방식으로 되어있어서 double a 또는 double b로 선언을 할 경우 틀렸습니다.라고 오답처리 문구가 나옵니다.

[ 풀이 2 ]

메모리 : 14188KB
시간 : 132ms

BufferedReader, StringTokenizer

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 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);
		System.out.println(a - b);
		System.out.println(a * b);
		System.out.println(a / b);
		System.out.println(a % b);

	}

}

풀이 2번도 마찬가지로 int형이 아닌 double형 일 경우, 틀렸습니다라는 오답문구가 출력됩니다.

[ 풀이 3 ]

메모리 : 14184KB
시간 : 124ms

BufferedReader

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().split(" ");
		int a = Integer.parseInt(str[0]);
		int b = Integer.parseInt(str[1]);

		System.out.println(a + b);
		System.out.println(a - b);
		System.out.println(a * b);
		System.out.println(a / b);
		System.out.println(a % b);

	}

}

여러 사칙연산의 코드로 알 수 있다시피 BufferedReaderStringTokenizer방식이 효율이 가장 좋은 걸 알 수 있습니다.

BKJN 카테고리 내 다른 글 보러가기

댓글 남기기