🔗 깃허브
시간 제한메모리 제한제출정답맞힌 사람정답 비율
| 1 초 | 128 MB | 136961 | 75346 | 66259 | 55.442% |
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
예제 입력 1
5
예제 출력 1
*
***
*****
*******
*********
*******
*****
***
*
문제 풀이
👉🏻 내 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
//위쪽 삼각형 (1 ~ n)
for(int i = 1; i <= n; i++) {
for(int j = 0; j < n-i; j++ ) {
System.out.print(" ");
}
for(int k = 0; k < i*2-1; k++) {
System.out.print("*");
}
System.out.println();
}
//아래쪽 삼각형 (n-1 ~ 0)
for(int i = n-1; i >= 1; i--) {
for(int j = 0; j < n-i; j++)
System.out.print(" ");
for(int k = 0; k < i*2-1; k++) {
System.out.print("*");
}
System.out.println();
}
}
}
위쪽 삼각형에서 공백은 n - i / 별(*)은 2*i -1
아래쪽 삼각형에서 공백은 n - i / 별(*)은 2*i -1
아래쪽 삼각형 코드에서 첫번째 for문 i >= 0로 했었는데,
i가 0일 경우, 공백 n개 출력 후 별은 2*0 - 1 = -1이라 0개, 즉 빈 줄(공백만 있는 줄)이 추가로 출력된다. 그러므로 1까지만 찍는 것을 권장.
i가 0일 경우, 공백 n개 출력 후 별은 2*0 - 1 = -1이라 0개, 즉 빈 줄(공백만 있는 줄)이 추가로 출력된다. 그러므로 1까지만 찍는 것을 권장.
시간복잡도
각 줄마다 최대 O(n)개의 문자(공백+별)를 출력하고, 줄 수가 O(n) → 시간 O(n²)
추가 자료구조 없이 상수 공간 O(1)
추가 자료구조 없이 상수 공간 O(1)
'코테 > 백준' 카테고리의 다른 글
| [백준/Java] 11659번 구간 합 구하기 4 (0) | 2025.10.23 |
|---|---|
| [백준/Java] 1157 단어 공부 (0) | 2025.10.19 |
| [백준/Java] 10809번 알파벳 찾기 (0) | 2025.10.02 |
| [백준 / java 11] 5217번 쌍의 합, 7287번 등록 (0) | 2025.05.29 |
| [백준 / java 11] 4562번 No Brainer, 4892번 숫자 맞추기 게임 (0) | 2025.05.28 |