[★1][백준2739번]구구단 (JAVA)

Date:     Updated:

카테고리:

태그:

[★1][백준2739번]구구단 (JAVA)

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

난이도 ☞ [★1]

주사위 세개

  • 문제
    • N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.
    • 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.
    • 출력형식과 같게 N1부터 N9까지 출력한다.

      예제입력 예제출력
      2 2 * 1 = 2
      2 * 2 = 4
      2 * 3 = 6
      2 * 4 = 8
      2 * 5 = 10
      2 * 6 = 12
      2 * 7 = 14
      2 * 8 = 16
      2 * 9 = 18

내가 푼 풀이

이번 문제는 for문의 기본(?)이라고 생각해도 좋을 것 같다. 구구단의 기본 공식을 알면 매우 쉬운 문제이며, 기본적으로 x * y라고 하면 x는 한번 주어지면 변하지않고, y값만 변하는 형태이니 그걸 적용해서 풀어본다면 매우 쉬운 문제가 된다. 코드는 보기 쉽게 x와 y로 표현하여 문제를 풀어보도록 하곘다.

[ 풀이 1 ]

메모리 : 18560KB
시간 : 244ms

Scanner

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);

		int x = s.nextInt();

		s.close();
		int y;
		for (y = 1; y < 10; y++) {                      // y는 1이며, y를 증가시키며 10이 되기 전까지 반복
			System.out.println(x + " * " + y + " = " + x * y);
		}

	}

}

다음은 for문과 BufferedReader입니다.

[ 풀이 2 ]

메모리 : 16164KB
시간 : 164ms

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));

		int x = Integer.parseInt(br.readLine());

		int y;
		for (y = 1; y < 10; y++) {                  // y는 1이며, y를 증가시키며 10이 되기 전까지 반복
			System.out.println(x + " * " + y + " = " + x * y);
		}

	}

}

Scanner보다는 BufferedReader의 성능이 우수함을 알 수 있고, for문의 기본을 알 수 있다.

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

댓글 남기기