반응형
Do it 자료구조와 함께 배우는 알고리즘 입문 자바편
스터디 정리
연습문제2 n단의 피라미드를 출력하는 메서드를 작성
p40 Q16
결과 : 입력 5
*
***
*****
해답
package chap01Practice;
import java.util.Scanner;
// 기호문자 *로 피라미드를 출력함
class StarPira_01_16 {
static void spira(int n) {
for (int i = 1; i <= n; i++) { // i행 (i = 1, 2, … ,n)
for (int j = 1; j <= n - i + 1; j++) // n-i+1개의 ' '를 나타냄
System.out.print(' ');
for (int j = 1; j <= (i - 1) * 2 + 1; j++) // (i-1)*2+1개의 '*'를 나타냄
System.out.print('*');
System.out.println(); // 개행(줄변환)
}
}
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
int n;
System.out.println("피라미드 모양으로 나타냅니다.");
do {
System.out.print("단수는 :");
n = stdIn.nextInt();
} while (n <= 0);
spira(n); // 피라미드를 나타냄
}
}
연습문제3 n단의 숫자 피라미드를 출력하는 메서드를 작성
결과: 입력 4
1
222
33333
4444444
해답
package chap01Practice;
import java.util.Scanner;
// 숫자를 늘어놓아 피라미드를 출력
class NumPira_01_17 {
static void npira(int n) {
for (int i = 1; i <= n; i++) { // i행 (i = 1, 2, … ,n)
for (int j = 1; j <= n - i + 1; j++) // n-i+1개의 ' '를 나타냄
System.out.print(' ');
for (int j = 1; j <= (i - 1) * 2 + 1; j++) // (i-1)*2+1개의 '*'를 나타냄
System.out.print(i % 10);
System.out.println(); // 개행(줄변환)
}
}
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
int n;
System.out.println("피라미드 모양으로 나타냅니다.");
do {
System.out.print("단수는 :");
n = stdIn.nextInt();
} while (n <= 0);
npira(n); // 피라미드를 나타냄
}
}
반응형
'개발 > algorithm' 카테고리의 다른 글
[java][algorithm] 배열 역순으로 정렬하기, 배열 뒤집기 (0) | 2018.10.07 |
---|---|
[java][algorithm] 배열의 최댓값 구하기 (0) | 2018.10.07 |
[java] 반복 - 구조적 프로그래밍 / 다중 루프 / 구구단 / 정사각형 만들기 (0) | 2018.10.07 |
[java] 반복 - 양수만 입력하기(do while문) / while,for,do문 차이 (0) | 2018.10.07 |
[java] 반복 - 1부터 n까지의 정수 합 구하기 (0) | 2018.10.07 |