시간&메모리 제한
문제
입력 & 출력
문제풀이
package com.jungol;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
//구구단
public class jungol_1291 {
public static void main(String[] args) throws IOException {
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int input1=Integer.parseInt(st.nextToken());
int input2=Integer.parseInt(st.nextToken());
while(input1<2 || input1 >9 || input2 <2 || input2>9) {
System.out.println("INPUT ERROR!");
st = new StringTokenizer(br.readLine());
input1=Integer.parseInt(st.nextToken());
input2=Integer.parseInt(st.nextToken());
}
//앞의 숫자가 더 큰 경우
if(input1>input2) {
for (int i = 1; i <= 9; i++) {
for (int j = input1; j >= input2; j--) {
if(i*j<10) {
sb.append(j+" * "+i+" = "+i*j+" ");
}else {
sb.append(j+" * "+i+" = "+i*j+" ");
}
}
sb.append("\n");
}
}else {
for (int i = 1; i <= 9; i++) {
for (int j = input1; j <= input2; j++) {
if(i*j<10) {
sb.append(j+" * "+i+" = "+i*j+" ");
}else {
sb.append(j+" * "+i+" = "+i*j+" ");
}
}
sb.append("\n");
}
}
System.out.println(sb);
}
}
- 구구단을 출력하는 문제였습니다.
- 일반적인 구구단에 비해서 요구하는 조건들이 많았습니다.
-특히 입력하는 부분에서 잘못 입력을 하면 다시해야 합니다. 하지만
br = new BufferedReader(new InputStreamReader(System.in)); 을 넣고 돌렸는데 NullPoint 예외가 발생했습니다. 원인은 아직 찾고 있습니다.
- if에 대한 조건문을 숫자가 크고 작음에 따라서 그리고 배치에 따라서 10보다 작으면 2칸을 뛰어 줘야 한다는 점에서 특이점이 있었습니다.
'Algorithm > 정올 알고리즘' 카테고리의 다른 글
정올_2046 숫자사각형4(자바)/도형만들기1 (0) | 2021.06.11 |
---|---|
정올_1304 숫자사각형3(자바) /도형만들기1 (0) | 2021.06.10 |
정올_1856 숫자사각형2 (자바) /도형만들기1 (0) | 2021.06.10 |
정올_1303 숫자사각형1(자바) /도형만들기1 (0) | 2021.06.09 |
정올_1341 구구단2(자바) / 도형만들기1 (0) | 2021.06.09 |