상냥한 세상 :: [백준]2739번: 구구단

본문으로 바로가기

[백준]2739번: 구구단

category Computer Science/BAEKJOON JAVA Practice 2022. 1. 8. 09:45
  • 문제

 

구구단 문제이다. 로직을 생각하면 정수형 변수 A,B를 입력받은 뒤 두 변수를 곱한 결과값C를 출력해주는 형태로 빌드업 해야한다. 

단, 말그대로 9*9 이므로 A*B에서 A,B각각의 범위는 1≤A,B≤9 가 되겠다. 

 

입력값이들어가므로 Scanner의 System.in이나 InputStream을 활용하면 될것 같다. 


  • 코드 1
import java.util.Scanner; 

public class Main{
	public static void main(String[] args){
    	Scanner in=new Scanner(System.in);
        int A=in.nextInt();
        
        in.close();
        
        for(int=1; i<10; i++){
        	System.out.println(A+"*"+i+"="+(A*i));
        }
    }
}

문제의 설명에선 A,B가 있어야 한다고 했지만, 사실 A를 넣고 자동으로 B가 1~10까지 오게 만들거기 때문에 for안에서 선언한 정수형 변수 i(B의역할을대체)을 사용해 자동으로 A x i를 계산하게 만든뒤, 그대로 (A*i)가 나오도록 System.out.println으로 출력문을 짜준다. 

 

//A=1로 input되었을 경우.

//A=1을 받은상태로 for문 진입

//B의 역할을 대체할 i를 1로 초기화
//i를 9까지 i++를해주어 for문이 돌때마다 i의 숫자 하나씩 증가
for(int i=1; i<10; i++){ 

	//A=1이고, i=1부터 시작했다
    //1+"*"+1+"="+(1*1)
    //A=1이고  i=2로 출력했다.
    //1+"*"+2+"="+(1*2)
    //A=1이고  i=3로 출력했다.
    //1+"*"+3+"="+(1*3)
	System.out.println(A+"*"+i+"="+(A*i));
}


//실제 출력결과
1*1=1
1*2=2
1*3=3
.
.
.

  • 결과


  • 코드 2
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.readLine());
        
        br.close();
        
        //이하 로직은 다른 코드와동일
        for(int i=1; i<10; i++){
            System.out.println(a+ " * "+ i + " = "+(a*i));
        }
    }
}

 

 


  • 결과


  • 코드 1,2 성능 비교

Scanner사용
BufferedReader사용

 

'Computer Science > BAEKJOON JAVA Practice' 카테고리의 다른 글

[백준]8393번: 합  (0) 2022.01.09
[백준]10950번: A+B-3  (0) 2022.01.08
[백준]2884번: 알람시계  (0) 2021.12.26
[백준]14681번: 사분면 고르기  (0) 2021.12.26
[백준]2753번: 윤년계산  (0) 2021.12.26