- 문제
구구단 문제이다. 로직을 생각하면 정수형 변수 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 성능 비교
'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 |