© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 2438 - 별 찍기 - 1

2022-03-13
BOJ
브론즈 V
java
원본 문제 보기
구현

문제

BOJ 2438 - 별 찍기 - 1

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, ..., N번째 줄에는 별 N개를 출력하라.

입력

첫째 줄에 N (1 이상 100 이하)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

예제

입력출력
5* ** *** **** *****

풀이

문자열에 별을 하나씩 추가하며 N줄을 출력한다.

  1. 문자열 s를 "*"로 초기화한다
  2. N번 반복하며 매번 s를 출력하고, s에 "*"를 추가한다

핵심 아이디어: 매 줄마다 새 문자열을 만드는 대신, 기존 문자열에 별을 누적하여 자연스럽게 길이가 증가하는 패턴을 만든다.

코드

 
package com.ssafy.an.day049;
 
import java.util.Scanner;
 
public class Day01BOJ2438별찍기1 { // 2438 날먹
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String s = "*";
		for(int i = 0 ;i < n; i++) {
			System.out.println(s);
			s += '*';
		}
		sc.close();
	}
}

복잡도

  • 시간: O(N^2) — 문자열 연결이 매번 새 문자열을 생성하므로 1+2+...+N
  • 공간: O(N) — 최대 길이 N의 문자열