개발자의 공부방/알고리즘
자바 기초 & 알고리즘] 구구단
- -
728x90
반응형
방법1)
구구단 2단 부터 9단까지 출력을 합니다.
package com.java.basic;
public class Java_Basic_Ex {
public static void main(String[] args) {
int[] result = new int[9];
System.out.println("구구단 2단");
for(int i=0; i<result.length; i++) {
result[i] = 2 *(i+1);
System.out.println();
System.out.print(result[i]);
}
System.out.println();
System.out.println("\n구구단 3단");
for(int i=0; i<result.length; i++) {
result[i] = 3 *(i+1);
System.out.println();
System.out.print(result[i]);
}
System.out.println();
System.out.println("\n구구단 4단");
for(int i=0; i<result.length; i++) {
result[i] = 4 *(i+1);
System.out.println();
System.out.print(result[i]);
}
System.out.println();
System.out.println("\n구구단 5단");
for(int i=0; i<result.length; i++) {
result[i] = 5 *(i+1);
System.out.println();
System.out.print(result[i]);
}
System.out.println();
System.out.println("\n구구단 6단");
for(int i=0; i<result.length; i++) {
result[i] = 6 *(i+1);
System.out.println();
System.out.print(result[i]);
}
System.out.println();
System.out.println("\n구구단 7단");
for(int i=0; i<result.length; i++) {
result[i] = 7 *(i+1);
System.out.println();
System.out.print(result[i]);
}
System.out.println();
System.out.println("\n구구단 8단");
for(int i=0; i<result.length; i++) {
result[i] = 8 *(i+1);
System.out.println();
System.out.print(result[i]);
}
System.out.println();
System.out.println("\n구구단 9단");
for(int i=0; i<result.length; i++) {
result[i] = 9 *(i+1);
System.out.println();
System.out.print(result[i]);
}
System.out.println();
}
}
방법2)
위의 코드를 메소드로 분리해서 배열에 담아서 풀어내봅니다.
package com.java.basic;
public class Java_Basic_Ex {
//배열에 담아서 배열로 받아주는 메소드
public static int[] calculate(int num) {
int[] result = new int[9];
for(int i=0; i<result.length; i++) {
result[i] = num * (i+1);
}
return result;
//반환
}
public static void main(String[] args) {
int[] result = calculate(2);
System.out.println("**2단**");
for(int i=0; i<result.length; i++) {
System.out.println(result[i]);
}
System.out.println();
System.out.println("**3단**");
int[] result3 = calculate(3);
for(int i=0; i<result.length; i++) {
System.out.println(result3[i]);
}
System.out.println();
int[] result4 = calculate(4);
System.out.println("**4단**");
for(int i=0; i<result.length; i++) {
System.out.println(result4[i]);
}
System.out.println();
int[] result5 = calculate(5);
System.out.println("**5단**");
for(int i=0; i<result.length; i++) {
System.out.println(result5[i]);
}
System.out.println();
int[] result6 = calculate(6);
System.out.println("**6단**");
for(int i=0; i<result.length; i++) {
System.out.println(result6[i]);
}
System.out.println();
int[] result7 = calculate(7);
System.out.println("**7단**");
for(int i=0; i<result.length; i++) {
System.out.println(result7[i]);
}
System.out.println();
int[] result8 = calculate(8);
System.out.println("**8단**");
for(int i=0; i<result.length; i++) {
System.out.println(result8[i]);
}
System.out.println();
int[] result9 = calculate(9);
System.out.println("**9단**");
for(int i=0; i<result.length; i++) {
System.out.println(result9[i]);
}
}
}
방법2)
조금 더 간략하게 줄여봅니다.
package com.java.basic;
public class Java_Basic_Ex {
//배열에 담아서 배열로 받아주는 메소드
public static int[] calculate(int num) {
int[] result = new int[9];
for(int i=0; i<result.length; i++) {
result[i] = num * (i+1);
}
return result;
//반환
}
public static void print(int[] result) {
for(int i=0; i<result.length; i++) {
System.out.println(result[i]);
}
}
public static void main(String[] args) {
int[] result = calculate(2);
System.out.println("**2단**");
print(result);
System.out.println("\n"+"**3단**");
int[] result3 = calculate(3);
print(result3);
System.out.println("\n"+"**4단**");
int[] result4 = calculate(4);
print(result4);
System.out.println("\n"+"**5단**");
int[] result5 = calculate(5);
print(result5);
int[] result6 = calculate(6);
System.out.println("\n"+"**6단**");
print(result6);
int[] result7 = calculate(7);
System.out.println("\n"+"**7단**");
print(result7);
int[] result8 = calculate(8);
System.out.println("\n"+"**8단**");
print(result8);
int[] result9 = calculate(9);
System.out.println("\n"+"**9단**");
print(result9);
}
}
방법3)
반복되는 부분을 줄여봅니다.
package com.java.basic;
public class Java_Basic_Ex {
// 배열에 담아서 배열로 받아주는 메소드
public static int[] calculate(int num) {
int[] result = new int[9];
for (int i = 0; i < result.length; i++) {
result[i] = num * (i + 1);
}
return result;
// 반환
}
public static void print(int[] result) {
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
public static void main(String[] args) {
System.out.println("구구단 전체 출력");
for (int i = 2; i < 10; i++) {
int[] result = calculate(i);
print(result);
}
}
}
반응형
'개발자의 공부방 > 알고리즘' 카테고리의 다른 글
자료구조] 스택 Stack (0) | 2023.09.26 |
---|---|
알고리즘] 순차 검색(Sequential Search) 알고리즘 (0) | 2023.09.21 |
알고리즘] 단어뒤집기 (0) | 2023.08.03 |
알고리즘] 대소문자 변경하기 (0) | 2023.08.03 |
알고리즘] 자료구조, 큐(Queue) (0) | 2021.11.12 |
Contents
소중한 공감 감사합니다