본문 바로가기

알고리즘/Jungol

[Java] 정올기초다지기 함수1-형성평가3

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package 함수1.형성평가03;
 
import java.util.Scanner;
 
public class Main {
 
    public static void square(int num) {
        for(int i=1;i<=num;i++) {
            for(int j=1;j<=num;j++) {
                System.out.print(i*j+" ");
            }
            System.out.println();
        }
    }
    public static void main(String[] args) {
        int num =0;
        Scanner sc = new Scanner(System.in);
        num = sc.nextInt();
 
        square(num);
    }
}
 
 

 

> square 라는 메소드를 생성하여 줍니다.

   문제를 보면 숫자의 패턴이 1*1 1*2 1*3 / 2*1 2*2 2*3 / 3*1 3*2 3*3 이런 순으로 이어지는걸 볼수있습니다.

 

   그럼 문제를 보자마자 2중 for문을 사용하면 쉽게 풀리는 문제라는것을 파악하면 됩니다. 

   i가 1일때 j는 1, 2, 3 세번반복 i가 2일때도 1, 2, 3 세번반복이기때문에 for문을 사용하여 i*j를 출력하여 주면됩니다.

 

   이때, i나 j가 0일경우 0* 무엇을해도 0이되기때문에 i와 j의 값에는 1을 주어주고,

   < num 일경우 미만으로만 가능하기때문에 <= 를 사용하면 문제에서 제시한대로 출력할수있습니다.