반응형
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
예제 입력 1
3
예제 출력 1
*
**
***
**
*
이 문제를 처음 봤을 때 가장 중요하다고 생각했던 포인트는 '별이 출력할때 왼쪽에서 부터 출력하는 것이 아니라 오른쪽에서 부터 출력되는 걸 어떻게 처리하는지' 라고 생각했고, 이는 각 라인별로 출력해야하는 별의 갯수만큼을 사용자가 입력해준 최대 별의 갯수에서 뺸 숫자만큼을 공백으로 먼저 출력해주면 된다고 생각되어 해당 방법으로 풀이를 진행해보았다.
package BAEKJOON_2522;
/*
날짜: 2024.07.14.일
내용: 백준 2522번 문제
*/
import java.util.*;
public class BAEKJOON_2522 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); // 최대 별의 갯수를 입력받기
for (int i=1; i<=n; i++) { // 윗부분
int blankCount = n-i;
while(blankCount > 0) {
System.out.printf(" ");
blankCount--;
}
int starCount = i;
while(starCount > 0) {
System.out.printf("*");
starCount--;
}
System.out.printf("\n");
}
for (int i=1; i<=n; i++) { // 아랫부분
int blankCount = i;
while(blankCount > 0) {
System.out.printf(" ");
blankCount--;
}
int starCount = n-i;
while(starCount > 0) {
System.out.printf("*");
starCount--;
}
System.out.printf("\n");
}
}
}
반응형
'실습 > 백준' 카테고리의 다른 글
별 찍기 20 - 10995번 (Java 풀이) (0) | 2024.07.14 |
---|---|
별 찍기 13 - 2523번 (Java 풀이) (0) | 2024.07.14 |
문자와 문자열 - 27866번 (Java 풀이) (0) | 2024.07.14 |
FizzBuzz - 28702번 (Java 풀이) (1) | 2024.07.14 |
평균 - 1546번 (Java 풀이) (1) | 2024.07.14 |